猿问

如何访问复杂的 JSON 数组和对象数据?

我被困在以角度访问应用程序的复杂 JSON 数据,这就是它的样子。


{

"members": [

{

"member_id": "1",

"first_name": "John",

"last_name": "Doe",

"education_and_career": "[{\"highest_education\":\"MSc\",\"occupation\":\"Lead Developer\",\"annual_income\":\"100,000 USD\"}]",

}]};

我可以使用 data.member_id 访问 member_id,名字,但我无法访问 data.education_and_career.highest_education 值。我知道它可能看起来很简单,但我被卡住了,所以我真的很感谢你的时间。


提前谢谢。


达令说
浏览 108回答 3
3回答

千万里不及你

"education_and_career"是一个包含 JSON 字符串的字段,因此您不能像普通数组一样使用它。但是,您可以使用该JSON.parse方法来解析它。所以为了访问 hieghest_education 领域,你会这样做:JSON.parse(data.education_and_career)[0].highest_education

呼啦一阵风

您需要将 education_and_career 属性解析为 JSON。下面是带有 map 函数或 for 循环的示例var data = {&nbsp; "members": [{&nbsp; &nbsp; "member_id": "1",&nbsp; &nbsp; "first_name": "John",&nbsp; &nbsp; "last_name": "Doe",&nbsp; &nbsp; "education_and_career": "[{\"highest_education\":\"MSc\",\"occupation\":\"Lead Developer\",\"annual_income\":\"100,000 USD\"}]",&nbsp; }]};var parsed=data.members.map(i=>JSON.parse(i.education_and_career));console.log("parsed",parsed)for (i = 0; i < data.members.length; i++) {&nbsp; console.log(JSON.parse(data.members[i].education_and_career))}

慕后森

看起来education_and_career不是对象数组。您需要使用 String.replace() 方法删除 \ 并将其转换为 JSON 数据,您将能够访问 highest_education 值,如 education_and_career[0].highest_enducation_value 等。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答