Existe-t-il un moyen d'avoir des objets imbriqués dans JSON pour ne pas avoir à créer des tableaux à partir de tout? Pour que mon objet soit analysé sans erreur, il me semble avoir besoin d'une structure comme celle-ci:
{"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 je récupère cet objet dans une variable appelée "résultat", je dois accéder aux objets imbriqués comme ceci:
result.data[0].stuff[0].onetype[0]
et
result.data[1].otherstuff[0].thing[0]
Cela me semble maladroit et redondant, si possible je préférerais:
result.stuff.onetype[0]
et
result.otherstuff.thing
Mais comment puis-je utiliser les clés d'objet directement lorsque tout est un tableau? À mon esprit confus et inculte, quelque chose comme celui-ci semble plus approprié:
{"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]]
}
}
}
J'ai probablement mal compris quelque chose de fondamental ici, mais je ne peux pas faire en sorte que l'analyseur jQuery (ni l'analyseur FF natif utilisé par jQuery 1.4) accepte le deuxième objet de style. Si quelqu'un pouvait m'éclairer, ce serait très apprécié!
{"id":2,"name": ""}
. Cependant, c'est plus ou moins ce qu'il demande, donc je ne suis pas sûr.
{"stuff": ..., "otherstuff": ...}