[英]How to access complicated JSON array & object data?
我一直在以 angular 访问应用程序的复杂 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 值。 我知道它可能看起来很简单,但我被卡住了,所以我非常感谢你的时间。
预先感谢。
"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 = {
"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))
}
看起来education_and_career
不是对象数组。 您需要使用 String.replace() 方法来删除 \\ 并将其转换为 JSON 数据,您将能够访问诸如 education_and_career[0].highest_enducation_value 之类的最高教育值。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.