JavaScript的 JSON.parse()和JSON.stringify() 函数
JSON.parse() 字符串转json对象
JSON.parse()是Javascript中一个常用的 JSON 转换方法,JSON.parse()可以把JSON规则的字符串转换为JSONObject,JSON.parse()很方便,并且几乎支持所有浏览器。
JSON.parse() 语法
JSON.parse(text[, reviver])
//text:需要被转换的字符串。
//[, reviver] : 可选参数,可以是一个回调方法。
返回值是一个 JSONObject。
JSON 解析实例
'{"domain" : "cent123.com","author":"abc"}' 外面被引号包裹起来了,证明它就是个字符串,而不是JSON对象,那么要转换,这个时候JSON.parse() 就可以派上用场了。 var json = JSON.parse('{"domain" : "cent123.com","author":"abc"}'); 如果抛出语法错误(Uncaught SyntaxError),正确会返回一个JSONObject,输出获取“domain”。 var json = JSON.parse('{"domain" : "cent123.com","author":"abc"}'); alert("json.domain = " + json.domain); //alert(json['domain']);//或者这样也可以
JSON.stringify() json对象转字符串
JSON.stringify()是Javascript中一个常用的内置 JSON 转换方法,JSON.stringify()可以把JSONObject 转化为 JSON 规则的字符串转换为,JSON.stringify()很方便,并且几乎支持所有浏览器。
JSON.stringify() 语法
JSON.stringify(value[, replacer[, space]])
JSON.stringify() 参数说明
参数 参数说明 备注
value 将要序列化成 一个JSON 字符串的值。 必选
replacer 如果是一个function,那么每个序列化成JSON的value都会经过这个function,如果是一个Array,那么序列化后的JSON字符串中的Key在这个数组中才会加入到返回的JSON 字符串中去。 可选
space 用于美化JSON字符串,如果是一个Number类型,代表的就是多少个空格。如果是0或者小于0,那么就是没有空格(和不填此项没有区别),如果是字符串,那么直接填充。 可选
JSON.stringify() 返回值说明
返回值是一个 JSON字符串,如:"{"domain":"centcent123.com"}"。
测试:
var json = {"domain" : "cent123.com","author":"abc"} //它就是一个正常的JSON对象,我们需要把它转换成字符串,这个时候JSON.stringify() 就可以派上用场了。 var json = {"domain" : "cent123.com","author":"abc"} alert(JSON.stringify(json));
两个函数浏览器支持
Firefox 3.5 + (目前已经50+版本了)
Internet Explorer 8 +(这个...)
Chrome(一直支持)
Opera 10 +
Safari 4 +