parse用于从一个字符串中解析出json对象,如
var str ='{"name":"huangxiaojian","age":"23"}'
var strObj = JSON.parse(str) //这里不要忘了用一个变量接值 否则console.log(str)输出的还是原来的字符串
console.log(strObj);
alert(typeof(styObj));
Object
age: "23"
name: "huangxiaojian"
__proto__: Object
注意:单引号写在{}外,每个属性名都必须用双引号,否则会抛出异常。
stringify()用于从一个对象解析出字符串,如
var a = {a:1,b:2}
结果:
var strA = JSON.stringify(a) //同上面写的一样
"{"a":1,"b":2}"
From<http://blog.csdn.net/wangxiaohu__/article/details/7254598>
今天偶尔处理一种json字符串格式的代码是发现了一种格式错误的数据~~在此贴出来以防忘记。错误代码如下:
var str = '{"success":true,"data":"[{"err_code":"","items":"第4插入成功!第5插入成功!第6插入成功!第7插入成功!第8插入成功!第9插入成功!第10插入成功!第11插入成功!第12插入成功!第13插入成功!第14插入成功!第15插入成功!第16插入成功!第17插入成功!第18插入成功!第19插入成功!第20插入成功!第21插入成功!第22插入成功!第23插入成功!","totalCount":"第4插入成功!第5插入成功!第6插入成功!第7插入成功!第8插入成功!第9插入成功!第10插入成功!第11插入成功!第12插入成功!第13插入成功!第14插入成功!第15插入成功!第16插入成功!第17插入成功!第18插入成功!第19插入成功!第20插入成功!第21插入成功!第22插入成功!第23插入成功!","err_message":""}]","FileId":""}';
var strToobj = JSON.parse(str);
console.log(strToobj);
以上代码在zhuan浏览器控制台报错如下:
Uncaught SyntaxError: Unexpected token e in JSON at position 27 at JSON.parse (<anonymous>)。
错误原因就是str的字符串格式并不是json字符串格式。在吧data的值(即中括号外面的双引号)的双引号去掉就可以了。