标准json格式
通常我们在编码中使用的object是类似于下面这种:
let object = {
key1: 'value1',
key2: 'value2',
...
}
这样的对象在代码中键是不需要用引号括起来的。但是标准Json的格式应该是如下:
{
"key1": "value1",
"key2": "value2",
...
}
键值都需要用双引号括起来(不能用单引号)。
有时候后台传给前台的数据被转成了字符串形式,并且是各种不标准的json格式,这时候js中使用JSON.parse会报错。
解决方法
可以使用强大的eval()函数 处理非标准json,使用方式如下:
json_string = "{key1: 'value1', key2: 'value2',}";
let json_data = eval('(' + json_string + ')');
eval主要是js的解析器封装函数,功能非常强大,不清楚的小伙伴建议还债