Как я анализирую этот json с jQuery?
DayEvents : [{"0":"886","event_id":"886","1":"5029","user_id":"5029","2":"Professional","user_type":"Professional", ...
Термин «синтаксический анализ» немного неуместен, поскольку он уже находится в формате JSON. Вам не нужно его разбирать, а просто получить к нему доступ. Если бы это была большая строка в формате JSON, вам действительно нужно сначала проанализировать ее в пригодный для использования объект JSON перед доступом.
Этот JSON содержит одно свойство, DayEvents
, которое, в свою очередь, содержит массив []
. Вы можете получить доступ к свойствам, используя точку .
оператор. Вы можете получить элемент массива по данному индексу, используя [index]
, где ноль 0
обозначает первый элемент.
var json = { DayEvents : [{"0":"886","event_id":"886","1":"5029","user_id":"5029","2":"Professional","user_type":"Professional" }]};
var firstDayEvent = json.DayEvents[0];
Массив, в свою очередь, содержит объект {}
. Или, может быть, больше одного? У вас может быть несколько элементов в массиве, тогда вы должны увидеть [{}, {}, {}, ...]
, и тогда вы сможете получить доступ к каждому элементу в цикле следующим образом:
for (var i = 0; i < json.DayEvents.length; i++) {
var dayEvent = json.DayEvents[i];
// ...
}
Объект однодневного события имеет несколько свойств: 0
, event_id
, 1
, user_id
, 2
, и т. д. Вы не можете получить доступ к свойствам, начинающимся с числа, использующего точку .
, тогда вы захотите использовать скобки:
var zero = firstDayEvent['0'];
var eventId = firstDayEvent.event_id;
var one = firstDayEvent['1'];
var userId = firstDayEvent.user_id;
var two = firstDayEvent['2'];
// ...
alert(eventId); // 886
alert(two); // Professional
Чтобы узнать больше о JSON, ознакомьтесь с в этом руководстве .
Украдено из .parseJSON() doc.
Пример:
Разбор строки JSON.
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
Код вашего примера, похоже, уже является объектом. Чтобы использовать и разобрать его с помощью parseJSON
, нужно заключить его в скобки.