2015-12-18 1 views
0

У меня есть функция, которая возвращать данные JSonОшибка: JSON.parse: неожиданный символ в строке 2 столбца 1 из данных в формате JSON

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

Когда вызов функции его получения ошибку

Error: JSON.parse: unexpected character at line 2 column 1 of the JSON data

Если их это нет данных, то JSON.parse (data) .results [] empty. Я думаю, что ошибка связана с этим [] объектом

Так как проверить, является ли пустым это json или нет?

+0

Можете ли вы привести пример данных, которые вы пытаетесь разобрать ? Возможно, это неверно и не может быть проанализировано. – DennisBeverloo

ответ

0

тест возвращение JSON синтаксического анализа, прежде чем пытаться получить доступ к элементу // редактирования добавлен тест

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; 
    } 

}; 
+0

Благодаря @Alainkb получать то же самое на этой строке 'вар d = JSON.parse (данные);' Когда я распечатать данные, которые он получил HTML – SarKar

+0

я редактировать ответ – AlainIb

+0

не повезло получить ту же ошибку – SarKar

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

if responseData does'nt have results or empty it will return null else results array.

Смежные вопросы