gpt4 book ai didi

javascript - 遍历JSON以获取 child 的名字

转载 作者:行者123 更新时间:2023-11-28 13:47:25 24 4
gpt4 key购买 nike

我想获取版本 1 和版本 2 下的子名称。下面的子名称示例为“Customer”和“Invoice”。

如何使用 javascript 获取它?

我尝试了Errors.Version1.[0]获取名字但这似乎不起作用。我不想使用 Errors.Version1.Customer 因为它可以更改。它可以是“客户”或“发票”。我只是想知道它是什么名字。

谢谢!

JSON 示例

{
"Errors": [
{
"Version1": {
"Customer": {
"BillAddr": {
"Id": "Id1",
"Line1": "Line11",
"Line2": "Line21",
"Line3": "Line31",
"Line4": "Line41",
"Line5": "Line51",
"City": "City1",

}
}
},
"Version2": {
"Invoice": {
"BillAddr": {
"Id": "Id1",
"Line1": "Line11",
"Line2": "Line21",
"Line3": "Line31",
"Line4": "Line41",
"Line5": "Line51",
"City": "City1",

}
}
}
}
]
}

最佳答案

您不能将对象属性作为索引引用;换句话说,你不能这样做:

var foo = {a:1};
foo[0]; // Doesn't work

您可以做的是使用类似的语法作为索引来引用该属性:

var foo = {a:1};
foo[someBoolean ? 'Customer' : 'Invoice']; // Does work

但是,如果您只想获取对象的任何属性,无论它们的名称是什么?好吧,那么您需要迭代它们:

var foo = {randomName:1};
for (var key in foo) {
// key=="randomName"
// foo[key]==foo["randomName"]==foo.randomName==1
// do whatever you want with foo[key];
}

但是,我建议使用库(Underscore 或 jQuery 都有自己的“each”函数)而不是原生 JS,因为如果您使用任何添加自定义属性的库,它们可能会把事情搞砸。

关于javascript - 遍历JSON以获取 child 的名字,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13241816/

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