¿Hay alguna forma de tener objetos anidados en JSON para no tener que hacer arreglos con todo? Para que mi objeto sea analizado sin errores, parece que necesito una estructura 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]]
}]
}]}
Si busco este objeto en una variable llamada "resultado", tengo que acceder a los objetos anidados como este:
result.data[0].stuff[0].onetype[0]
y
result.data[1].otherstuff[0].thing[0]
Esto me parece torpe y redundante, si es posible preferiría:
result.stuff.onetype[0]
y
result.otherstuff.thing
Pero, ¿cómo puedo usar las claves de objeto directamente cuando todo es una matriz? Para mi mente confundida y sin educación, algo como esto parecería más apropiado:
{"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]]
}
}
}
Probablemente he entendido mal algo fundamental aquí, pero no puedo obtener el analizador jQuery (ni el analizador FF nativo utilizado por jQuery 1.4) para aceptar el segundo objeto de estilo. ¡Si alguien puede iluminarme, se lo agradecería!
{"id":2,"name": ""}
. Sin embargo, eso es más o menos lo que pregunta, así que no estoy seguro.
{"stuff": ..., "otherstuff": ...}