后台接受到的数据data中如何变为对象,
var dataAlisa = [
{ "id": "0", "error_info": "success!", "data": "[{\"id\":1,\"name\":\"www\"},{\"id\":2,\"name\":\"www\"}]" },
{ "id": "1", "error_info": "success!" },
{ "id": "2", "error_info": "success!", "data": "[{\"id\":2,\"name\":\"www\"}]" }]
var listJson = JSON.parse(JSON.stringify(dataAlisa))
console.log(listJson);
for (var i = 0; i < dataAlisa.length; i++) {
var data = dataAlisa[i].data
if (data == undefined) {
data = []
}
var tablets = JSON.parse(JSON.stringify(data))
console.log( tablets );
// console.log(eval("(" + data + ")"));
}
最外层已经变为对象形式了,里面data那层怎么改变使用evel只能取到最后一个。
我想要
[
{
id: '0',
error_info: 'success!',
data: '[{"id":1,"name":"www"},{id:2,name":"www"}]'
},
{ id: '1', error_info: 'success!' ,data:[]},
{ id: '2', error_info: 'success!', data: '[{id:2,name:"www"}]' }
]
给个参考方案:
var dataAlisa = [
{ "id": "0", "error_info": "success!", "data": "[{\"id\":1,\"name\":\"www\"},{\"id\":2,\"name\":\"www\"}]" },
{ "id": "1", "error_info": "success!" },
{ "id": "2", "error_info": "success!", "data": "[{\"id\":2,\"name\":\"www\"}]" }]
for (let i = 0; i < dataAlisa.length; i++) {
data = dataAlisa[i].data;
if(data!=undefined){
dataArr = eval(data);
for(let j=0;j<dataArr.length;j++){
console.log(dataArr[j].id);
console.log(dataArr[j].name);
}
}
}