基于下面的JSON数据格式,我们如何解析它在我只想获取特定密钥的位置,例如,我只想获取名称和优先级
[
"{'id': 12, 'category_name': 'BIR', 'priority': 1, 'category': 12, 'name': 'BIR FORMS'}",
"{'id': 14, 'category_name': 'Contribution', 'priority': 0, 'category': 13, 'name': 'Pag-Ibig'}",
"{'id': 13, 'category_name': 'Contribution', 'priority': 0, 'category': 13, 'name': 'SSS'}"
]
答案 0 :(得分:1)
如果数据中没有其他引号,则可以用双引号'
替换单引号"
,以获得符合JSON的字符串。
然后解析字符串,获取所需的属性并映射新对象。
var strings = [
"{'id': 12, 'category_name': 'BIR', 'priority': 1, 'category': 12, 'name': 'BIR FORMS'}",
"{'id': 14, 'category_name': 'Contribution', 'priority': 0, 'category': 13, 'name': 'Pag-Ibig'}",
"{'id': 13, 'category_name': 'Contribution', 'priority': 0, 'category': 13, 'name': 'SSS'}"
],
data = strings.map(s => JSON.parse(s.replace(/'/g, '"'))),
selected = data.map(({ name, priority }) => ({ name, priority }));
console.log(selected);
.as-console-wrapper { max-height: 100% !important; top: 0; }
答案 1 :(得分:-1)
让我们假设您具有有效的json数据。您可以执行以下示例:
%
答案 2 :(得分:-2)
尝试将数据映射为波纹管
let data=[
"{'id': 12, 'category_name': 'BIR', 'priority': 1, 'category': 12, 'name':
'BIR FORMS'}", "{'id': 14, 'category_name': 'Contribution', 'priority': 0,
'category': 13, 'name': 'Pag-Ibig'}", "{'id': 13, 'category_name':
'Contribution', 'priority': 0, 'category': 13, 'name': 'SSS'}" ];
let mapping= data.map((tmp)=>{
tmp=JSON.parse(tmp)
return {name:tmp.name,priority:tmp.priority}
})