猿问

"" 将字符串解析为 json 时出错

我将我的数据存储在字符串中。例如 -


    var xyz = '{ Product : ['    

    xyz = xyz + { id:"1",name:"abc"}  //this generates via loop

    xyz = xyz + ']}';

    $scope.data = JSON.parse(xyz);

但这给了我错误。它将“”附加到我的字符串并格式化为


JSON.parse("{ Product : [{ id:"1",name:"abc"}]}")

如何摆脱这个?提前致谢。


皈依舞
浏览 195回答 2
2回答

慕沐林林

没有理由将您的对象创建为字符串然后解析它如果您需要循环,请循环并推送const data = {&nbsp; Product: []}for (let i = 1; i <= 10; i++) {&nbsp; data.Product.push({&nbsp; &nbsp; "id": i,&nbsp; &nbsp; name: "abc"&nbsp; });}console.log(data)

慕田峪4524236

你需要转义“ with \”。并将 " 与 jso 的键一起使用。我认为您最好创建对象和数组,然后将它们转换为 json。例子:var obj = {name : "Marcos"};obj.products = [];for (....){&nbsp; &nbsp;obj.products.push( {id: x} );}var myJSON = JSON.stringify(obj);编程更自然,调试也更容易。
随时随地看视频慕课网APP

相关分类

JavaScript
我要回答