js将json字符串转换为json对象的方法
08 April 2015
在开发过程中,经常需要前后台数据交互,比较常见的方法就是后台返回一串json字符串,在前台调用的时候,需要将这串字符串解析为json数据,通常有以下几种方法:
1,eval方式解析,比较原始的解析方式了
function strToJson(str){
var json = eval('('+ str + ')');
return json;
}
PS:注意str两旁的小括号
2,使用全局的JSON对象,比较常见
function strToJson(str){
return JSON.parse(str);
}
3,new Function形式,比较少见
function strToJson(str){
var json=(new Function("return "+str)){};
return json;
}
实际中的一个例子:
function parseJSON(str){
if(typeof(str) === 'object') {
return str;
} else {
if(window.JSON){
return JSON.parse(str);
} else {
return eval('(' + str + ')');
}
}
}