我们如何解析角度或javascript中的以下对象类型,也许用于搜索循环或解析?
我想获取标题值并将其分配给标题,因为如您所见,标题的值是object:
{'title': 'Hey', 'instruction': 'Take a sad song a…75, 'sub_title': 'Jude', 'timelimit': '01:05:01'}
而不是您在示例中看到的“ Hey”(第二个对象也是如此)。有办法吗?
[
{
id:0,
title:"{'title': 'Hey', 'instruction': 'Take a sad song a…75, 'sub_title': 'Jude', 'timelimit': '01:05:01'}"
},
{
id:1,
title:"{'title': 'Assessment', 'instruction': 'Jude', 'cr…71, 'sub_title': 'Test', 'timelimit': '06:25:08'}"
}
]
[
{
id:0,
title:"Hey"
},
{
id:1,
title:"Assessment"
}
]
答案 0 :(得分:2)
确保您在json中使用正确的格式-内部使用双引号,外部使用单引号。
赞
'{"title": "Hey", "instruction": "Take a sad song a…75", "sub_title": "Jude", "timelimit": "01:05:01"}'
然后您可以简单地做。
let jsonString = '{"title": "Hey", "instruction": "Take a sad song a…75", "sub_title": "Jude", "timelimit": "01:05:01"}';
let title = JSON.parse(jsonString).title;
console.log(title);
答案 1 :(得分:1)
var jsonObj = [
{
id:0,
title:"{'title': 'Hey', 'instruction': 'Take a sad song a…75, 'sub_title': 'Jude', 'timelimit': '01:05:01'}"
},
{
id:1,
title:"{'title': 'Assessment', 'instruction': 'Jude', 'cr…71, 'sub_title': 'Test', 'timelimit': '06:25:08'}"
}
];
var updatedJsonObj = jsonObj.map( obj => {
return {
...obj,
title: JSON.parse(obj.title).title
}
});
console.log(updatedJsonObj);
//updatedJsonObj will have your required format
答案 2 :(得分:0)
在这里,我们正在执行以下步骤
title.replace(/'/g, '"')
使其有效。然后解析JSON。 这是代码
arr = [
{
id:0,
title:"{'title': 'Hey', 'instruction': 'Take a sad song a…75', 'sub_title': 'Jude', 'timelimit': '01:05:01'}"
},
{
id:1,
title:"{'title': 'Assessment', 'instruction': 'Jude', 'sub_title': 'Test', 'timelimit': '06:25:08'}"
}
]
arr = arr.map((e)=> { e.title = JSON.parse(e.title.replace(/'/g, '"')).title; return e; })
// expected result is in arr
。
答案 3 :(得分:0)
正如其他人指出的那样,您的json无效,但是由于您提到它是从后端获取的,并且无法更改,因此我建议将标题视为字符串,并使用字符串操作来获取所需的值。 / p>
例如,您可以使用以下代码获取ID和标题
<div ng-repeat="item in data">
{{item.id}} -
{{item.title.split('\'')[3]}}
</div>