如何读取嵌套的 json 对象? [复制]
Posted
技术标签:
【中文标题】如何读取嵌套的 json 对象? [复制]【英文标题】:How to read nested json object? [duplicate] 【发布时间】:2018-05-29 15:27:54 【问题描述】:我已经创建了一个这样的对象。
myObj =
"name":"John",
"age":30,
"cars": [
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat"
]
我可以轻松读取姓名和年龄,但我想读取对象“汽车”下的内容(键值)。我想将键值放在下拉列表中,以便如果从汽车中选择任何键,我将获得相应的值。 谢谢!
【问题讨论】:
myObj.cars.car1
, myObj.cars.car2
...另外,仅供参考,这是一个对象文字,而不是 JSON。
如果您将汽车对象设为数组会更容易。你会得到“汽车”:[“福特”、“宝马”、“菲亚特”]。
您要读取值还是键?您期望的值列表是什么? “汽车1,汽车2,汽车3”?您所描述的是:<select><option value="Ford">car1<option><option value="BMW">car2</option>
- 即“选择一个键 (car1
) 获取值 (Ford
)” - 这似乎是错误的方式。
【参考方案1】:
只需通过myObj.cars.car1
、myObj.cars.car2
和myObj.cars.car3
直接获取或循环如下示例
var myObj =
"name": "John",
"age": 30,
"cars":
"car1": "Ford",
"car2": "BMW",
"car3": "Fiat"
;
for (let i in myObj)
if (typeof myObj[i] == 'object')
for (let j in myObj[i])
console.log(j, myObj[i][j]);
else
console.log(i, myObj[i]);
【讨论】:
【参考方案2】:使用点运算符,您可以通过它访问属性
myObj =
"name":"John",
"age":30,
"cars":
"car1":"Ford",
"car2":"BMW",
"car3":"Fiat"
console.log(myObj.cars.car1);
console.log(myObj.cars.car2);
console.log(myObj.cars.car3);
【讨论】:
以上是关于如何读取嵌套的 json 对象? [复制]的主要内容,如果未能解决你的问题,请参考以下文章