jQuery插件-json2.js

 

前言

json2.js是一个json插件,下载地址:https://github.com/douglascrockford/JSON-js

它包含两个方法,JSON.stringify(value, replacer, space)和JSON.parse(text, reviver)



JSON.stringify(value, replacer, space)

value

要序列化的值,可以是数组或者对象。


replacer

可选参数,可以是一个函数或者一个数组,函数可以根据键替换旧的值,而数组可以决定要序列化的键。


space

可选参数,排版用的,如果它是数值,表示在每层缩进多少个空格,如果是字符串,例如 '\t' 或者' ',表示在每层使用这个字符来缩进。


例子

 

1、console.log(JSON.stringify([{a: "诶"}, {b: "比"}]));
结果:
[{"a":"诶"},{"b":"比"}]

2、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],null,"\t"));
结果:
[
	{
		"a": "诶"
	},
	{
		"b": "比"
	}
]

3、console.log(JSON.stringify([{a: "诶"}, {b: "比"}],["a"]));
结果:
[{"a":"诶"},{}]

4、var jsonText = JSON.stringify({
				a : "诶",
				b : "比"
			},jsonConvert);
function jsonConvert(key, value) {
				switch (key) {
				case "a":
					return "A";
				case "b":
					return "B";
				default:
					return value;
				}
			}
console.log(jsonText);
结果:
{"a":"A","b":"B"}

5、有时候JSON.stringify()还是不能满足对某些对象进行自定义序列化的需求,在这些情况下,可以通过对象上调用toJSON()方法,返回其自身的JSON数据格式。
例如:console.log(JSON.stringify({a: "诶",b: "比",toJSON:function(){return "自定义"}});结果是返回"自定义".

 



JSON.parse(text, reviver)

text

要解析的字符串。


reviver

可选参数,是一个函数,用于过滤和转换结果,它接收每一对键值对并执行这个函数,记住,最后一定要加上return value。


例子

1、console.log(JSON.parse('{"a":"诶","b":"比"}'));
结果:
Object { a="诶",  b="比"}

2、console.log(JSON.parse('{"a":"诶","b":"比"}',function(key,value){
				if(key=="a"){
					return "A";
				}else if(key=="b"){
					return "B";
				}
				return value;
			}));
结果:
 Object { a="A",  b="B"}

版权声明:本文为博主原创文章,未经博主允许不得转载。

你可能感兴趣的:(jquery插件)