2015-10-10 2 views
-1

Я использую запрос AJAX для динамического извлечения некоторых данных из базы данных. Данные возвращаются обратно в AJAX после ввода функции PHP json_encode(). Возвращается значение, которое я получаю от запроса AJAX заключается в следующем:Обработка данных JSON из массива PHP

{"counter":1,"1":{"objectID":"1","objectType":"note","objectDate":"2015-10-10  19:55:26","objectTitle":"Test Note","objectContent":"Lorem ipsum dolor sit amet consecetur adpiscing...","objectColor":"white"}} 

Как бы идти о расщеплении эти данные на отдельные переменные, такие как counter для где {"counter":1 объект JSON является? Кроме того, как бы я разделил подмассивы данных JSON на отдельные массивы javascript?

Вся помощь была бы очень признательна. Благодарю.

+4

Просто установите 'dataType' в' json', и он делает это автоматически? – adeneo

ответ

2

Все, что вам нужно сделать, это установить dataType к "json" в вашем ajax вызова затем передать результат с success как:

$.ajax({ 
    url: 'example.com', 
    dataType: 'json', 
    success: function(json) { 
     console.log(json); 
    } 
}); 

From the jQuery.ajax() documentation

DATATYPE:

«JSON ": Оценивает ответ как JSON и возвращает JavaScript объект. Кросс-доменные запросы «json» преобразуются в «jsonp», если только запрос включает jsonp: false в его параметрах запроса. Данные JSON обрабатываются строгим образом; любой отклоненный JSON отклоняется и выдается ошибка синтаксического анализа. Начиная с jQuery 1.9, пустой ответ также отклонен; сервер должен вернуть ответ null или {}. (см json.org для получения дополнительной информации о правильном форматировании JSON.)

-1

С простым:

JSON.parse(data); 

мне удалось добиться этого. Не удалось найти это при первоначальном исследовании.

+0

Зачем вам нужно разбирать результат как json, когда он уже автоматически разбирается с помощью 'ajax'? – billynoah

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