Есть ли способ иметь вложенные объекты в JSON, чтобы мне не приходилось создавать массивы из всего? Чтобы мой объект был проанализирован без ошибок, мне нужна такая структура:
{"data":[{"stuff":[
{"onetype":[
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
]},
{"othertype":[
{"id":2,"company":"ACME"}
]}]
},{"otherstuff":[
{"thing":
[[1,42],[2,2]]
}]
}]}
Если я получу этот объект в переменную с именем «result», я получу доступ к вложенным объектам, например так:
result.data[0].stuff[0].onetype[0]
и
result.data[1].otherstuff[0].thing[0]
Это кажется мне неуклюжим и излишним, если возможно, я бы предпочел:
result.stuff.onetype[0]
и
result.otherstuff.thing
Но как я могу использовать ключи объекта напрямую, когда все является массивом? Моему растерянному и необразованному уму что-то подобное показалось бы более уместным:
{"data":
{"stuff":
{"onetype":[
{"id":1,"name": ""},
{"id":2,"name": ""}
]}
{"othertype":[
{"id":2,"xyz": [-2,0,2],"n":"Crab Nebula","t":0,"c":0,"d":5}
]}
}
{"otherstuff":
{"thing":
[[1,42],[2,2]]
}
}
}
Я, вероятно, неправильно понял кое-что фундаментальное здесь, но я не могу заставить парсер jQuery (или парсер FF, используемый jQuery 1.4) принять второй объект стиля. Если кто-нибудь сможет просветить меня, это будет с благодарностью!