如何删除引号或将此字符串作为普通数组传递

时间:2017-03-08 17:45:15

标签: javascript arrays json angular

events: "[{id:"3",title:"activity",start:"2017-03-11 00:00:00",allDay:true},{id:"4",title:"nutrition",start:"2017-03-11 00:00:00",allDay:true}]"

如何删除引号或将此字符串作为angularjs2中的普通数组传递?

3 个答案:

答案 0 :(得分:2)

它是一个JSON字符串。只需使用JSON.parse,就可以获得一系列对象。

答案 1 :(得分:0)

这里,events对象中的字符串不是有效的JSON。所以你不能在这里使用JSON.Parse。对于有效的JSON key应该用双引号括起来,例如:{id:...}应该是{"id":...}

let input = {
     events: '[{id:"3",title:"activity",start:"2017-03-11 00:00:00",allDay:true},{id:"4",title:"nutrition",start:"2017-03-11 00:00:00",allDay:true}]'
};

let dataToSend = Object.assign({}, input);

dataToSend.events = eval(dataToSend.events);

console.log(dataToSend);

output

由于您的输入sting仍然是有效的javascript对象,因此您可以使用eval方法进行转换。在这里,我使用object.assign来创建输入的副本。因此,对dataToSend的任何修改都不会影响您的实际输入对象。

答案 2 :(得分:0)

let input = {
     events: '[{id:"3",title:"activity",start:"2017-03-11 00:00:00",allDay:true},{id:"4",title:"nutrition",start:"2017-03-11 00:00:00",allDay:true}]'
};

eval(obj.events);

enter image description here