嵌套的JSON对象 - 我是否需要将所有内容都使用数组?

27 浏览
0 Comments

嵌套的JSON对象 - 我是否需要将所有内容都使用数组?

在JSON中有没有办法嵌套对象,这样我就不必将所有内容都转换为数组了?为了使我的对象能够被正确解析,我似乎需要这样的结构:

{"data":[{"stuff":[

{"onetype":[

{"id":1,"name":"John Doe"},

{"id":2,"name":"Don Joeh"}

]},

{"othertype":[

{"id":2,"company":"ACME"}

]}

]},

{"otherstuff":[

{"thing":

[[1,42],[2,2]]

}]

}]}

如果我将这个对象获取到名为"result"的变量中,我必须像这样访问嵌套对象:

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

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

对我来说,这似乎很笨拙和冗余,如果可能的话,我更希望:

result.stuff.onetype[0]

result.otherstuff.thing

但是当一切都是数组时,我如何直接使用对象键?对于我困惑和未受过教育的头脑来说,像这样的东西似乎更合适:

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

}

}

}

我可能误解了某些基本的东西,但我无法让jQuery解析器(也无法让jQuery 1.4使用的原生FF解析器)接受第二种样式的对象。如果有人能给我启发,我将非常感激!

0