json不规范 亲人两行泪
var myJsonStr = "{name:'张三', 'age':20}"; // 甚至有的key还是双引号 引号都不统一
JSON.parse(myJsonStr);
// 报错:myJsonStr不是一个有效的JSON字符串 (VM244:1 Uncaught SyntaxError: Expected property name or '}' in JSON at position 1)
你的妄想
var myJsonStr = "{name:'张三', 'age':20}";
JSON.stringify(myJsonStr); // 这样是不是就规范了?--回答是:不 你想多了 看看结果
// `"{name:'张三', 'age':20}"`
那要我怎么做?
当然是利用牛逼的eval
var myJsonStr = "{name:'张三', 'age':20}";
var jsonStr = eval("("+myJsonStr +")");
// 即 通过stringify序列化js对象 然后即可得出标砖的json字符串 进而 parse也可以反序列化了
var one = JSON.stringify(jsonStr); // 标准的json字符串
JSON.parse(jsonStr ); // 标准的json变量
一个小知识点
stringify默认不格式化 输出一行
JSON.stringify({name:'张三', 'age':20});
想要格式化则需要加一些参数
JSON.stringify({name:'张三', 'age':20}, null, "\t")
注意事项
像小程序 等某些平台 会不支持或禁用eval
这就没办法了