在Firefox,chrome,opera,safari,ie9,ie8等高级浏览器直接可以用JSON对象的stringify()和parse()方法。
JSON.stringify(obj)将JSON转为字符串。JSON.parse(string)将字符串转为JSON格式;
var a={"name":"tom","sex":"男","age":"24"};var aToStr = JSON.stringify(a);alert(aToStr); //结果:{"name":"tom","sex":"男","age":"24"}
结果:string
var b='{"name":"tom","sex":"男","age":"24"}';var aToObj = 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对象的问题。
<script type="text/javascript" src="js/json2.js"></script>
PS: JSON的parse()和stringfy()方法
1.JSON.parse;
作用:将JavaScript对象表示法的JSON字符串转换为对象(字符串转对象)
语法:JSON.parse(text [, reviver])
text 必选。 一个有效的 JSON 字符串。
reviver 可选。 一个转换结果的函数。 将为对象的每个成员调用此函数。
返回值:JSON对象
实例:
var jsonStr = '{"name":"leinov","sex":"famle","address":"beijing"}'var jsonObj = JSON.parse(jsonStr);alert(typeof jsonObj); //Object
2.JSON.stringify
作用:将 JavaScript json对象转换为JavaScript对象表示法的JSON字符串(对象转为字符串)
语法:JSON.stringify(value [, replacer] [, space]);
value 必选 通常为对象或数组
replacer 可选转换结果的函数或数组
space 可选。 添加缩进、空白和换行符来返回值 JSON 文本更便于阅读。
如果省略 space,返回值文本生成,没有任何额外的空白。
如果 space 是数字,则返回值具有空白的文本缩进指定数目在每个级别的。 如果 space 大于 10 时,文本缩进 10 个空白。
如果 space 为非空字符串,如“/t”,返回值文本缩进与字符串的字符在每个级别。
如果 space 为大于 10 个字符的字符串,使用前 10 个字符。
返回值:JSON 包含的文本字符串。
实例:
var student = new Object();student.name = "leinov";student.sex = "famle";student.address = "chaoyang";var jsonStudent = JSON.stringify(student);alert(typeof jsonStudent); //string
新闻热点
疑难解答