谈谈JSON对象和字符串之间的相互转换JSON.stringify(obj)和JSON.parse(string)
在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式;
vara={"name":"tom","sex":"男","age":"24"}; varaToStr=JSON.stringify(a); alert(aToStr);//结果:{"name":"tom","sex":"男","age":"24"}
结果:string
varb='{"name":"tom","sex":"男","age":"24"}'; varaToObj=JSON.parse(b); console.log(aToObj);//结果:Object{name:"tom",sex:"男",age:"24"}
结果:object
ie8(兼容模式),ie7和ie6没有JSON对象,不过http://www.json.org/提供了一个json.js,这样ie8(兼容模式),ie7和ie6就可以支持JSON对象以及其stringify()和parse()方法;
现在一般用json2.js,下载地址:点击此处。
在页面中添加就能解决IE低版本没有json对象的问题。
<scripttype="text/javascript"src="js/json2.js"></script>
PS:JSON的parse()和stringfy()方法
1.JSON.parse;
作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)
语法:JSON.parse(text[,reviver])
text必选。一个有效的JSON字符串。
reviver可选。一个转换结果的函数。将为对象的每个成员调用此函数。
返回值:JSON对象
实例:
varjsonStr='{"name":"leinov","sex":"famle","address":"beijing"}' varjsonObj=JSON.parse(jsonStr); alert(typeofjsonObj);//Object
2.JSON.stringify
作用:将JavaScriptjson对象转换为JavaScript对象表示法的JSON字符串(对象转为字符串)
语法:JSON.stringify(value[,replacer][,space]);
value必选通常为对象或数组
replacer可选转换结果的函数或数组
space可选。添加缩进、空白和换行符来返回值JSON文本更便于阅读。
如果省略space,返回值文本生成,没有任何额外的空白。
如果space是数字,则返回值具有空白的文本缩进指定数目在每个级别的。如果space大于10时,文本缩进10个空白。
如果space为非空字符串,如“\t”,返回值文本缩进与字符串的字符在每个级别。
如果space为大于10个字符的字符串,使用前10个字符。
返回值:JSON包含的文本字符串。
实例:
varstudent=newObject(); student.name="leinov"; student.sex="famle"; student.address="chaoyang"; varjsonStudent=JSON.stringify(student); alert(typeofjsonStudent);//string