У меня возникают проблемы с возвратом JSON из веб-службы. Похоже, что JSON не хватает кавычек, но когда я добавляю кавычки в JSON, я получаю сообщение об ошибке. Вот сообщение об ошибке: "Uncaught SyntaxError: Неожиданный токен o. Когда я записываю строку в консоль: [object Object], [object Object]
Вот пример кода, который имитирует ошибку:
//Error I am trying to solve
var jsonString = '[{"Id":"10","Name":"Matt"},{"Id":"1","Name":"Rock"}]';
var myData = JSON.parse(jsonString);
$(document).ready(function() {
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li>' + this.Name + '</li>').appendTo($grouplist);
});
});
Вот тот же код с одинарными кавычками вокруг строки. Он работает
//Successful Javascript
var jsonString = '[{"Id":"10","Name":"Matt"},{"Id":"1","Name":"Rock"}]';
var myData = JSON.parse(jsonString);
$(document).ready(function() {
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li>' + this.Name + '</li>').appendTo($grouplist);
});
});
//Successful HTML
<ul id="groups"></ul>
Но когда я пытаюсь добавить кавычки к строке, как мне кажется, мне нужно в моем реальном коде, она терпит неудачу:
//Does not work when I need to append quotes to the string:
var jsonStringNoQuotes = [{"Id":"10","Name":"Matt"},{"Id":"1","Name":"Rock"}];
jsonStringQuotes = "'" + jsonStringNoQuotes + "'";
var myData = JSON.parse(jsonStringQuotes);
$(document).ready(function() {
var $grouplist = $('#groups');
$.each(myData, function() {
$('<li>' + this.Name + ',' + this.Id + '</li>').appendTo($grouplist);
});
});
Вот ошибка: строка журнала для консоли: [объект объекта], [объект объекта] data.js: 809 Uncaught SyntaxError: Неожиданный токен '
Я в тупике. Любая помощь ценится! Спасибо!