JS字符串与json对象的转化
js字符串转化为json对象(参考)
3种方法:
-
var json = JSON.parse(str);
-
var json = eval("(" + str + “)”);
-
var json = (new Function("return " + str))();
使用JSON.parse()转化的坑:
-
字符串的数据格式
字符串str = ‘{“name”:“小明”,“age”:18}’; 属性name和age都用双引号引住,如果写成对象形式的字符串,如:str = ‘{name:“小明”,age:18}’; 使用JSON.parse()来转化会报错,因为使用JSON.parse需严格遵守JSON规范。 -
单引号与双引号
举例中 var str = ‘{“name”:“小明”,“age”:18}’; 使用单引号来套双引号,如果反过来写呢,如:var str = “{‘name’:‘小明’, ‘age’:18}”; 结果使用JSON.parse()来转化也会报错 -
兼容问题
IE6/7浏览器中不支持使用JSON.parse()方法转成json对象,所以需要引入一个json2.js文件。可以在这个网站去下载对象文件。
json对象转化为字符串
方法:json.stringify()