stringify用于从一个对象解析出字符串
var a = {"ao":1,"bo":2};//规范写法ao和bo都要用双引号,如果没有用双引号也行
alert("a==" + a);//a==[object Object]
alert("stringify==" + JSON.stringify(a));//stringify=={"ao":1,"bo":2}
alert("a.ao==" + a.ao);//a.ao==1
//alert("a1====" + a[ao]);//用法错误,提示ao is not defined
alert("a2====" + a["ao"]);//a====1,一般情况下,a["ao"]和a.ao是等价的
parse用于从一个字符串中解析出json对象
var a = '{"ao":1,"bo":2}';
alert("parse==" + JSON.parse(a));//parse==[object Object]
这种写法是正确的
var b = "{'ao':1,'bo':2}";
alert("parse==" + JSON.parse(b));
这种写法是错误的,会抛出异常,是
"和
'导致的。
我们写对象的时候,属性名可以不用双引号括起来,但如果使用JSON.parse的话,每个属性都必须用双引号括起来,否则也会抛出异常。