请稍侯

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 + ')');
  }
 }
}