2015-03-23 3 views
1

Я пытаюсь преобразовать строку json в формат объекта, считанный из файла .js.Недопустимая ошибка JavaScript javascript при использовании JSON.parse

Ниже JSON строка в document.js

[ 
    { 
     "type": "TableShape", 
     "id": "63c0f27a-716e-804c-6873-cd99b945b63f", 
     "x": 80, 
     "y": 59, 
     "width": 99, 
     "height": 107,  
     "name": "Group", 
     "entities": [ 
     { 
      "text": "id", 
      "id": "49be7d78-4dcf-38ab-3733-b4108701f1" 
     }, 
     { 
      "text": "employee_fk", 
      "id": "49be7d78-4dcf-38ab-3733-b4108701fce4" 
     } 
     ] 
    } 
    ]; 

теперь я звоню document.js в window load с помощью AJAX, как показано ниже

$(window).load(function() { 
      $.ajax({ 
       url: "JS/Draw2d/SampleData/document.js", 
       async: false, 
       success: function (result) { 
        debugger; 
        jsonStringFromServer = JSON.parse(result);//Here Javascript error stating invalid character 
        alert(jsonStringFromServer); 
       } 
      });   
     }); 
+4

Попробуйте удалить ';' в конце строки JSON в 'document.js' – Yoink

+0

вы можете использовать этот сайт для проверки своего json http://json.parser.online.fr/ – Sim1

+0

Это решило проблему. TQ – Vallabha

ответ

0

Когда функция $.ajax получает JSON, он автоматически deserialises для Вас , Ошибка, которую вы видите, является причиной, потому что вы передаете объект JSON.parse, а не форматированную строку JSON - вам вообще не нужно использовать JSON.parse. Попробуйте это:

success: function (result) { 
    debugger; 
    console.log(result); // = the received object 
} 

Я также настоятельно рекомендуем вам удалить async: false как это чрезвычайно плохая практика, чтобы использовать его.

+0

В качестве отступления «результат» автоматически десериализуется автоматически, если возвращается правильный заголовок «Content-Type». В противном случае вам нужно добавить параметр 'dataType: json' в' $ .ajax() '. – Phylogenesis

+0

Спасибо за предложение, я последую этому, и я действительно хочу знать, есть ли способ написать какой-то текст JSON в .txt-файл? – Vallabha

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