var str = '{"name":"huangxiaojian","age":"23"}'json
结果:函数
JSON.parse(str)spa
注意:单引号写在{}外,每一个属性名都必须用双引号,不然会抛出异常。code
var a = {a:1,b:2}orm
结果:对象
JSON.stringify(a)ip
"{"a":1,"b":2}"字符串
jQuery.parseJSON()
函数用于将格式无缺的JSON字符串转为与之对应的JavaScript对象。a:若是传入一个格式不"无缺"的JSON字符串将抛出一个JS异常,例如:如下字符串均符合JSON格式,但它们不是格式无缺的JSON字符串(所以会抛出异常):string
// 如下均是字符串值,省略了两侧的引号,以便于展示内容
{id: 1} // id是属性名称,必须加双引号
{'id': 1} // id是属性名称,必须用双引号(不能用单引号)
{"name": 'CodePlayer'} // name属性的值是字符串,必须用双引号(不能用单引号)
b:JSON标准不容许字符串中出现"控制字符",例如:一个Tab或换行符。it
$.parseJSON('{"name": "Code\tPlayer\n"}'); // 多数状况下,它会抛出一个错误,由于JS解析器会将字符串中的\t或\n等转义直接视做字面值,起到Tab或换行的效果。
//正确写法应该以下(使用两个反斜杠,以避免被JS解析器直接转义\t或\n):
$.parseJSON('{"name": "Code\\tPlayer\\n"}');