错误:JSON.parse:JSON数据的第2行第1列的意外字符

时间:2015-12-18 10:54:46

标签: javascript angularjs

我有返回json数据的函数

transformResponse : function(data) {
   return JSON.parse(data).results;
 }

当函数调用它时出错

  

错误:JSON.parse:第2行第1列的意外字符   JSON数据

如果它们没有数据,那么JSON.parse(data).results []为空。 我认为错误是由于这个[]对象

那么如何检查是否返回空是json还是没有?

2 个答案:

答案 0 :(得分:0)

在尝试访问元素之前测试json parse的返回值 //编辑,添加测试

var transformResponse  = function(data){
    if(( typeof data !== undefined) && ( typeof data !== 'undefined') && ( data !== null ) && (data !== "")){
        var d = JSON.parse(data) ;

        if(( typeof d !== undefined)&&(d!=null)){
            return d.results;
        }else{
            return null;
        }
    }else{
        return null;
    }

};

答案 1 :(得分:0)

transformResponse : function(data) {
   var responseData = JSON.parse(data);
   return (responseData && responseData.results) ? responseData.results:null;
 }
  

如果responseData没有结果或为空,则返回null   结果数组。