我想要得到版本1和版本2下的孩子的名字。以下儿童的名字的例子是“客户”和“发票”。穿越JSON得到孩子的名字
我怎样才能得到它使用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",
}
}
}
}
]
}
所以然后使用'foo.hasOwnProperty(key)'来测试属性是否被继承。 –
只是为了更具体地指出什么是机器主机,以及大卫在保护您。有些库会丰富本地Object实现,如下所示:Object.prototype.anotherKey =“whatever”。这是不考虑其他代码,在我看来是不好的,但是,这是语言的一部分。 – cbayram
@cbayram这是原型继承的工作原理,您可以通过将[enumerable属性设置为false]来绕过列出的属性(https://developer.mozilla.org/en-US/docs/JavaScript/Reference/Global_Objects/Object/defineProperty)。 – Christoph