It would complicate your parsing a bit, but I think you could have an even simpler format by omitting an extra layer of array for sibling nodes (just use them for children). The structure translation would still be unambiguous.