首页 > 其他分享 >json字符串不规范 怎么使用parse反序列化

json字符串不规范 怎么使用parse反序列化

时间:2022-12-22 11:36:03浏览次数:60  
标签:stringify 20 name JSON parse json myJsonStr 序列化

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 这就没办法了

标签:stringify,20,name,JSON,parse,json,myJsonStr,序列化
From: https://www.cnblogs.com/dingshaohua/p/16997944.html

相关文章