json2.js主要功能是做什么的?
json2.js提供了json的序列化和反序列化方法,可以将一个json对象转换成json字符串,也可以将一个json字符串转换成一个json对象。
json2.js在浏览器不支持json.parse的内置方法时,最有效。json2.js会创建一个内部的全局变量,提供json对象与字符串之间的转换。
由于eval已经不提倡使用了,并存在一定的危险,建议使用内置parse json的方法,或者直接使用json2.js。
json2.js的源码地址:
https://github.com/douglascrockford/JSON-js
Visual Studio用户可以直接通过Nuget来获得。
使用方法很简单:
1、引用json2.js:
rush:xhtml;">
3、增强功能:
比如说,我们的数据非常复杂,还有类似头像,昵称,个人签名之类的信息。 可是我保存在本地,只需要用户名,和性别,肿么破呢? 也许你会说 so easy,遍历数据重新提取下即可。 例如:
rush:js;">
data = [
{name:,sex:,age: },{name:,age: }
]; ( i=,new_data=[]; i
确实分分钟搞定。
其实我们只需要用 stringify 第二个参数即可简单处理这种问题。
rush:js;">
data = [
{name:,age: }
]; str_json = .stringify(data,[,]);
console.log(str_json);
var data = [
{name: "王尼玛",age: 30}
];
var str_json = JSON.stringify(data,["name","sex"]);
console.log(str_json);
第二个参数只要传入需要的keys数组,就非常轻松的就完成这种处理了。
当然如果我们要更纠结的处理,比如要把 1,0 修改为男女,那么第二个参数可以用回调函数来处理。
rush:js;">
data = [
{name:,(k === ) { [,][v];
} v;
});
console.log(str_json);
var data = [
{name: "王尼玛",function (k,v) {
if (k === "sex") {
return ["女","男"][v];
}
return v;
});
console.log(str_json);
第二个参数如此强悍,为我们省去了不少麻烦。
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。