Gibt es eine Möglichkeit, verschachtelte Objekte in JSON zu haben, damit ich nicht aus allem Arrays erstellen muss? Damit mein Objekt fehlerfrei analysiert werden kann, brauche ich eine Struktur wie diese:
{"data":[{"stuff":[
{"onetype":[
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
]},
{"othertype":[
{"id":2,"company":"ACME"}
]}]
},{"otherstuff":[
{"thing":
[[1,42],[2,2]]
}]
}]}
Wenn ich dieses Objekt in eine Variable namens "result" bringe, muss ich wie folgt auf die verschachtelten Objekte zugreifen:
result.data[0].stuff[0].onetype[0]
und
result.data[1].otherstuff[0].thing[0]
Dies erscheint mir ungeschickt und überflüssig, wenn möglich würde ich es vorziehen:
result.stuff.onetype[0]
und
result.otherstuff.thing
Aber wie kann ich die Objektschlüssel direkt verwenden, wenn alles ein Array ist? Für meinen verwirrten und ungebildeten Verstand scheint so etwas angemessener zu sein:
{"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]]
}
}
}
Ich habe hier wahrscheinlich etwas Grundlegendes falsch verstanden, aber ich kann weder den jQuery-Parser (noch den von jQuery 1.4 verwendeten nativen FF-Parser) dazu bringen, das Objekt im zweiten Stil zu akzeptieren. Wenn mich jemand aufklären kann, wäre ich dankbar!
{"id":2,"name": ""}
. Das ist jedoch mehr oder weniger das, was er verlangt, also bin ich mir nicht sicher.
{"stuff": ..., "otherstuff": ...}