为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

达令说 2023-04-20 09:58:33
我被困在以角度访问应用程序的复杂 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 值。我知道它可能看起来很简单,但我被卡住了,所以我真的很感谢你的时间。提前谢谢。
查看完整描述

3 回答

?
千万里不及你

TA贡献1784条经验 获得超9个赞

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

JSON.parse(data.education_and_career)[0].highest_education


查看完整回答
反对 回复 2023-04-20
?
呼啦一阵风

TA贡献1802条经验 获得超6个赞

您需要将 education_and_career 属性解析为 JSON。下面是带有 map 函数或 for 循环的示例


var data = {

  "members": [{

    "member_id": "1",

    "first_name": "John",

    "last_name": "Doe",

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

  }]

};

var parsed=data.members.map(i=>JSON.parse(i.education_and_career));

console.log("parsed",parsed)


for (i = 0; i < data.members.length; i++) {

  console.log(JSON.parse(data.members[i].education_and_career))

}


查看完整回答
反对 回复 2023-04-20
?
慕后森

TA贡献1802条经验 获得超5个赞

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



查看完整回答
反对 回复 2023-04-20
  • 3 回答
  • 0 关注
  • 107 浏览
慕课专栏
更多

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信