JSON.stringify能把json格式的对象变为字符串的格式,如
var obj = {x:9,y:1}
JSON.stringify(obj) -->"{x:9,y:1}"
但是如属性的值为undefined ,则忽略,如果是NaN,Infinity,则变为null
var obj = {val:undefined,a:NaN,b:Infinity,c:new Date()}
JSON.stringify(obj) -->"{a:null,b:null,c:Mon Jun 06 2016 06:08:28 GMT+0800 (中国标准时间)}"
复杂的json.stringify的情况,如下:
var obj = {
x:1,
y:9,
o:{
o1:4,o2:5,toJSON:function(){return this.o1+this.o2} //如果有toJSON方法,在JSON.stringify时,会返回toJSON的结果,没有的话,按常规返回
}
}
JSON.stringify(obj) -->"{x:1,y:9,o:9}"
JSON.parse()能把字符串变为json对象,字符串中的表示属性需用引号引起,如下文的“x”
var obj = JSON.parse('{"x" : 1}');
console.log(obj.x);