我被困在以角度访问应用程序的复杂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值。我知道它可能看起来很简单,但我被困住了,非常感谢您的宝贵时间。
谢谢。
答案 0 :(得分:1)
"education_and_career"
是一个包含JSON字符串的字段,因此您不能像普通数组一样使用它。但是,您可以使用JSON.parse
方法进行解析。因此,要访问hieghest_education字段,您需要这样做:
JSON.parse(data.education_and_career)[0].highest_education
答案 1 :(得分:0)
您需要将education_and_career属性解析为JSON。下面是带有地图功能或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))
}
答案 2 :(得分:-1)
看起来education_and_career
不是对象数组。您需要使用String.replace()方法删除\并将其转换为JSON数据,然后才能访问诸如education_and_career [0] .highest_enducation_value之类的最高教育值。