gpt4 book ai didi

javascript - 嵌套的 JSON 对象 - 我必须对所有内容都使用数组吗?

转载 作者:IT老高 更新时间:2023-10-28 12:42:22 24 4
gpt4 key购买 nike

有没有办法在 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 使用的 native FF 解析器)接受第二个样式对象。如果有人能启发我,将不胜感激!

最佳答案

你不需要使用数组。

JSON 值可以是数组、对象或基元(数字或字符串)。

你可以这样写 JSON:

{ 
"stuff": {
"onetype": [
{"id":1,"name":"John Doe"},
{"id":2,"name":"Don Joeh"}
],
"othertype": {"id":2,"company":"ACME"}
},
"otherstuff": {
"thing": [[1,42],[2,2]]
}
}

你可以这样使用它:

obj.stuff.onetype[0].id
obj.stuff.othertype.id
obj.otherstuff.thing[0][1] //thing is a nested array or a 2-by-2 matrix.
//I'm not sure whether you intended to do that.

关于javascript - 嵌套的 JSON 对象 - 我必须对所有内容都使用数组吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2098276/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com