Oggetti JSON nidificati: devo utilizzare gli array per tutto?

C’è un modo per avere oggetti nidificati in JSON, quindi non devo creare array con tutto? Per poter analizzare il mio object senza errori, mi sembra di aver bisogno di una struttura come questa:

{"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 prendo questo object in una variabile chiamata “result” devo accedere agli oggetti nidificati come questo:

 result.data[0].stuff[0].onetype[0] 

e

 result.data[1].otherstuff[0].thing[0] 

Questo mi sembra goffo e ridondante, se ansible preferirei:

 result.stuff.onetype[0] 

e

 result.otherstuff.thing 

Ma come posso usare le chiavi dell’object direttamente quando tutto è un array? Alla mia mente confusa e ignorante, qualcosa del genere sembrerebbe più appropriata:

 {"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]] } } } 

Probabilmente ho frainteso qualcosa di fondamentale qui, ma non riesco a ottenere il parser jQuery (né il parser FF nativo usato da jQuery 1.4) per accettare il secondo object di stile. Se qualcuno mi può illuminare sarebbe apprezzato con gratitudine!