У меня есть веб-сервис, который возвращает эту строку через jQuery $.ajax()
вызов в успех обратного вызова:Преобразование этой строки в массив объектов JSON с помощью JQuery
[{"WaitlistID":1,"RID":45034,"CustomerID":2765957,
"IsAdmin":false,"TruckSize":1,"Points":1},
{"WaitlistID":2,"RID":45034,"CustomerID":2765957,
"IsAdmin":false,"TruckSize":1,"Points":1}]
К сожалению, если я позвоню $.each()
этого значения в обратный вызов его итерации по каждой букве в нем и не рассматривают его как массив из двух элементов, что мне бы хотелось. Я пробовал функцию makeArray(
), но мне не повезло, как я могу преобразовать эту строку в массив объектов JSON?
редактировать:
В ответ на замечания (спасибо, каждый) я уже делаю установить DATATYPE к «», JSON является нечетным. Вот код, о котором идет речь.
jQuery.ajax({
type: "POST",
url: pagePath + "/" + fn,
contentType: "application/json; charset=utf-8",
data: paramList,
dataType: "json",
success: successFn,
error: errorFn
});
..so Я не знаю, почему он не работал изначально, но немного parseJSON() сделал трюк. Цените помощь каждого.
Вы пробовали 'JSON.parse'? –
Ваш вызов ajax настроен неправильно. Используйте 'dataType: json'. Он проанализирует json для вас и предоставит вам объект в качестве параметра функции 'success()'. –
Показать ваш вызов ajax. –