Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/450.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 解析字符串对象数组_Javascript_Arrays_Json_Angularjs_Object - Fatal编程技术网

Javascript 解析字符串对象数组

Javascript 解析字符串对象数组,javascript,arrays,json,angularjs,object,Javascript,Arrays,Json,Angularjs,Object,基于下面的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'}",

基于下面的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'}"
]

如果数据中没有其他引号,可以将单引号
替换为双引号
,以获得符合要求的字符串

然后解析字符串,获取想要的属性并映射新对象

var字符串=[
“{'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(选中)

.as控制台包装{max height:100%!important;top:0;}
假设您拥有有效的json数据。您可以执行以下示例:

const json = `[
   {"priority": 1, "name": "BIR FORMS"},
   {"priority": 0, "name": "Pag-Ibig"},
   {"priority": 0, "name": "SSS"}
]`;
const parsedJson = JSON.parse(json);

console.log(`${parsedJson[0].name}, ${parsedJson[0].priority}`);

尝试将数据映射为以下内容:

 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}
})

您的数据中没有可解析项,因为里面有单引号。请显示任何试图解决您的问题的代码。