Existe alguma maneira de ter objetos aninhados em JSON para que eu não precise criar matrizes de tudo? Para que meu objeto seja analisado sem erros, parece que preciso de uma estrutura como esta:
{"data":[{"stuff":[
{"onetype":[
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
]},
{"othertype":[
{"id":2,"company":"ACME"}
]}]
},{"otherstuff":[
{"thing":
[[1,42],[2,2]]
}]
}]}
Se eu buscar este objeto em uma variável chamada "resultado", tenho que acessar os objetos aninhados assim:
result.data[0].stuff[0].onetype[0]
e
result.data[1].otherstuff[0].thing[0]
Isso me parece desajeitado e redundante, se possível, eu preferiria:
result.stuff.onetype[0]
e
result.otherstuff.thing
Mas como posso usar as chaves de objeto diretamente quando tudo é um array? Para minha mente confusa e sem educação, algo assim pareceria mais apropriado:
{"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]]
}
}
}
Provavelmente não entendi algo fundamental aqui, mas não consigo fazer com que o analisador jQuery (nem o analisador FF nativo usado por jQuery 1.4) aceite o segundo objeto de estilo. Se alguém puder me esclarecer, agradeceria muito!
{"id":2,"name": ""}
. No entanto, é mais ou menos isso que ele está perguntando, então não tenho certeza.
{"stuff": ..., "otherstuff": ...}