报错原因:json数据的格式要求非常严格,属性名称必须是用双引号括起来
- 解决方法一
var str = "{'name':'xiaoji', 'age':20}";
JSON.parse(str); // 报错
var str='{"name":"xioaji", "age":20}';
JSON.parse(str); // 正确
- 解决方法二
// 自己写已个转obj函数
function to_Obj(str) {
var obj = {};
str.split(",").forEach((item) => {
let key,value;
key = item.split(":")[0].replace(/^\{/gi, "");
value= item.split(":")[1].replace(/\}$/gi, "");
obj[key] = value;
});
return obj
}
var str = "{'name':'xiaoji', 'age':20}";
to_Obj(str) // 成功返回对象