Я испытываю затруднения при парсинге некоторых данных JSON, возвращенных из моего сервера с помощью jQuery.ajax ()
Для выполнения Ajax, я использую:
$.ajax({
url: myUrl,
cache: false,
dataType: "json",
success: function(data){
...
},
error: function(e, xhr){
...
}
});
И если я возвращаю массив объектов тогда, он хорошо работает:
[ { title: "One", key: "1" }, { title: "Two", key: "2" } ]
Функция успеха вызвана и получает правильный объект.
Однако, когда я пытаюсь возвратить отдельный объект:
{ title: "One", key: "1" }
Функцию ошибок называют, и xhr содержит 'parsererror'. Я попытался обернуть JSON в круглую скобку на сервере прежде, чем отправить ему вниз провод, но это не имеет никакого значения. Все же, если я вставляю содержание в строку в JavaScript и затем использую оценку () функция, это оценивает его отлично.
Какие-либо идеи, что я делаю неправильно?
Anthony
У меня была похожая проблема с этим, где Firefox 3.5 работал нормально и анализует мои данные JSON, но Firefox 3.0.6 вернул ParseError. Оказалось, что это было пустое место в начале JSON, вызвавшего Firefox 3.0.6, чтобы бросить ошибку. Удаление пробела Исправлено его
Строки JSON заключены в двойные кавычки; одинарные кавычки не являются допустимой заменой.
{"who": "Hello World"}
верно, но это не ...
{'who': 'Hello World'}
Хотя это не проблема ОП, подумал, что стоит отметить это для других, которые приземляются здесь.