2015-06-20 3 views
3

Я не могу обработать ответ json при доступе к json-ответу. Я получаю некоторые недопустимые символы в ответе json, так как мы можем удалить проблемы с пробелом и недопустимые символы из json-ответа, используя php scirptНедопустимые символы в ответе json

Мой JSON ответ:

[{"keyword":"cosmetic dermatology","svol":4400},{"keyword":"dermatology associates","svol":22200},{"keyword" 
:"advanced dermatology","svol":40500},{"keyword":"dermatology clinic","svol":3600},{"keyword":"dermatology 
specialists","svol":3600},{"keyword":"dermatology consultants","svol":5400},{"keyword":"pediatric dermatology" 
,"svol":3600},{"keyword":"what is dermatology","svol":1900},{"keyword":"dermatology pictures","svol" 
:1300},{"keyword":"dermatological","svol":2400},{"keyword":"laser dermatology","svol":1300},{"keyword" 
:"dermatology group","svol":1900},{"keyword":"dermatology uk","svol":390},{"keyword":"dermatology courses" 
,"svol":1000},{"keyword":"dermatologic","svol":1600},{"keyword":"westlake dermatology","svol":8100}, 
{"keyword":"pariser dermatology","svol":3600},{"keyword":"aesthetic dermatology","svol":1000},{"keyword" 
:"dermatology doctors","svol":590},{"keyword":"north dallas dermatology","svol":1300} ] 

И мой JQuery является:

$.ajax({ 
      type:"post", 
      datatype : 'json', 
      url:"GetKeyWordBids.php", 
      data:"specialty="+ spevalue, 
      success: function(s) { 
       var object = $.parseJSON(s); 
       /*oTable.fnClearTable(); 
       oTable.fnAddData([ 
        s 
       ]); */ 
      } 
     }); 

FireBug Выход:

SyntaxError: JSON.parse: unexpected non-whitespace character after JSON data at line 1 column 25230 of the JSON data 

И выход Jsonlint.com для ответа JSon:

Parse error on line 75: 
...  "keyword": "ear nose and throat 
----------------------^ 
Expecting 'STRING', 'NUMBER', 'NULL', 'TRUE', 'FALSE', '{', '[' 
+1

ваш ответ JSON испытывает разрывы строк, когда я тестировал в JSONLINT. Я удалил эти перерывы, и он работал полностью. Возможно, вы хотите проверить механизм ответа на ответ JSON, чтобы проверить недопустимые символы – Satya

ответ

1

Вам не нужно использовать $.parseJSON(); так datatype : 'json' указан. возвращенные данные уже находятся в формате JSON, просто используйте его напрямую.

1

Пожалуйста, вставьте данные JSON здесь: http://jsonlint.com/ и убедитесь, что синтаксис JSON плох.

Когда вы исправить это, используйте Satpal ответ (не включают $ .parseJSON)

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