js中字符串转换成json共有三种方式,其中单引号和双引号都可以其中key必须为字符串,value可以对象、数组、字符串基本数据类型等
1.eval方式解析
eval('(' + str + ')');
2.new Function形式
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
3.使用全局的JSON对象
function strToJson(str){
return JSON.parse(str);
}
注:用第三种转换的时候需严格遵守JSON规范(比如:key一定要有引号引起来,而且转换的时候里层需要用双引号外层用单引号:ge--var str="{'name':'qiyu','age':18,'score':[99,98,100]}";以上两种方法可以转换但是JSON.parse不能转换需要改成:var str='{"name":"qiyu","age":18,"score":[99,98,100]}';才可以被转换成功),jquery中的parseJSON函数也是对此函数的封装,但如果写的和上面"{'name':'qiyu','age':18,'score':[99,98,100]}"也是不能转换的因为
运行到那个函数了使用了JSON.parse(),所以用jquery也不能转换成功