构造json参数时key的引号和js string转json的三种方式
{name:"dd",age:"16"}
{"name":"dd","age":"16"}
前者是Javascript的对象字面量语法,后者是JSON,后者是前者的一个子集。json中的key必须是用双引号包围的,并且要搞清楚JSON是字符串。
1.eval方式解析,恐怕这是最早的解析方式了。如下:
function strToJson(str){
var json = eval('(' + str + ')');
return json;
}
记得别忘了str两旁的小括号。当然最好别用:
- 有注入风险,尤其是ajax返回数据
- 不方便debug
- 效率低,eval是一个执行效率很低的函数
2.new Function形式,比较怪异哦。如下
function strToJson(str){
var json = (new Function("return " + str))();
return json;
}
3.使用全局的JSON对象,如下:
function strToJson(str){
return JSON.parse(str);
}
4.JSON.stringify(jsonobj); //可以将json对象转换成json字符串