今天写一个简单的动态页面的时候,发现一个奇怪的json问题。json如下:
{
"settings": "[{\"id\": 4567}]"
}
说实话,看起来是相当的正常。但是用JSON.parse上面的json的时候,报了一个错:
image.png
代码如下:
const json = `{"settings": "[{\"id\":4567}]" }`;
JSON.parse(json);
不太懂为什么会报错,id前面的双引号已经用了转义了。先记录一下。后面直接叫后端别对那个数组再进行一次stringify。然后就解决了这个问题。
但是真的很无语,用下面这个代码去创建一个一模一样的json,但是可以解析出来。
const obj = {};
let a = [{ id: 4567 }];
const aJSON = JSON.stringify(a);
obj.settings = aJSON;
const objJson = JSON.stringify(obj);
console.log(objJson);
const res = JSON.parse(objJson);
console.log(res);
image.png
网友评论