Gibt es eine Möglichkeit, verschachtelte Objekte in JSON zu haben, so dass ich nicht aus allen Arrays Arrays machen muss? Für meine Aufgabe ohne Fehler analysiert werden scheine ich eine Struktur wie diese brauchen:Geschachtelte JSON-Objekte - muss ich Arrays für alles verwenden?
{"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 mit dem Namen „Ergebnis“ holen muss ich die verschachtelte Objekte wie folgt zugreifen:
result.data[0].stuff[0].onetype[0]
und
result.data[1].otherstuff[0].thing[0]
Dies scheint ungeschickt und überflüssig zu mir, wenn möglich, ich bevorzugen würde:
result.stuff.onetype[0]
und
result.otherstuff.thing
Aber wie kann ich die Objektschlüssel verwenden, um direkt, wenn alles ein Array ist? Zu mein verwirrt und ungebildet Geist so etwas wie dies scheint besser geeignet:
{"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 wohl etwas Grundsätzliches hier falsch verstanden, aber ich kann den jQuery-Parser nicht bekommen (noch die native FF-Parser von jQuery 1.4 verwendet wird) zu akzeptieren das zweite Stilobjekt. Wenn jemand mich erleuchten kann, würde es dankbar geschätzt werden!
Die Syntax für ein Objekt mit mehr als eine Eigenschaft ist wie folgt: '{ "Stoff": ..." andere Sachen": ...} ' –
@Jason: Er _apparies_ das bereits wissen; er selbst schrieb '{" id ": 2," name ":" "}. Aber das ist mehr oder weniger das, was er verlangt, also bin ich mir nicht sicher. – SLaks