JSON'da iç içe nesneler bulundurmanın bir yolu var mı, böylece her şeyden diziler yapmak zorunda kalmayayım? Nesnemin hatasız çözümlenmesi için şöyle bir yapıya ihtiyacım var gibi görünüyor:
{"data":[{"stuff":[
{"onetype":[
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
]},
{"othertype":[
{"id":2,"company":"ACME"}
]}]
},{"otherstuff":[
{"thing":
[[1,42],[2,2]]
}]
}]}
Bu nesneyi "sonuç" adlı bir değişkene getirirsem, aşağıdaki gibi iç içe geçmiş nesnelere erişmem gerekir:
result.data[0].stuff[0].onetype[0]
ve
result.data[1].otherstuff[0].thing[0]
Bu bana beceriksiz ve gereksiz görünüyor, mümkünse tercih ederim:
result.stuff.onetype[0]
ve
result.otherstuff.thing
Ama her şey bir diziyken nesne anahtarlarını doğrudan nasıl kullanabilirim? Kafam karışmış ve eğitimsiz zihnime bunun gibi bir şey daha uygun görünebilir:
{"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]]
}
}
}
Muhtemelen burada temel bir şeyi yanlış anladım, ancak jQuery ayrıştırıcısını (ya da jQuery 1.4 tarafından kullanılan yerel FF ayrıştırıcısını) ikinci stil nesnesini kabul etmek için alamıyorum. Beni aydınlatabilecek biri varsa minnettar olur!
{"id":2,"name": ""}
. Ancak, aşağı yukarı onun istediği şey bu, bu yüzden emin değilim.
{"stuff": ..., "otherstuff": ...}