2015-03-20 3 views
0
if(data.hasOwnProperty('date'){ 
    var start = data.date 
}else{ 
    var start = data.datetime 
} 

Это пример кода, который я пытаюсь использовать. Хотя он не работает, он всегда возвращает только два параметра. Другие вещи, которые я пробовал, используют if (data.key), typeof ...JQuery JSON - Определите, существует ли определенный ключ.

Итак, чтобы предоставить дополнительную информацию о проблеме - я пытаюсь получить данные с сервера api google. Данные корректно извлекаются из-за того, что я могу четко отображать данные, полученные с сервера. Проблема заключается в том, что мой клиент использует два разных формата для получения даты начала и окончания. Дата, которая представляет собой формат ГГГГ-ММ-ДД, и DateTime, который также обеспечивает час. Api имеет дело с отображением правильного, только показывая этот ключ. Это означает, что он показывает дату или ключ даты и времени, а не то, и другое. Поэтому я пытаюсь определить, существует ли один из ключей, но призывать к ним, кажется, возвращает «undefined», и я рисую пробел о том, как заставить его работать.

Пример JSON, возвращаемой апи:

"start": {"date": "2015-03-20"} 

В некоторых случаях ключевой датой вместо этого будет DateTime, и предоставить другой формат.

Следовательно, мой вопрос в том, как убедиться, что только правильный ключ вызван, если другой ключ возвращает undefined?

Я использую JQuery + JQuery mobile. Любая помощь приветствуется.

+0

Можете ли вы поиграть в свой код? Также отредактируйте свой вопрос с полным кодом –

+0

Отредактировал мой код для большей ясности, хотя я могу гарантировать, что код на самом деле проходит - это просто определение правильного ключа. Это тоже немного сложнее, чем просто возиться. Я боюсь. Кодекс написан на большой части голландского языка, так как это язык, который мы используем, а во-вторых, немного сложно правильно показать некоторые данные, где он показывает оба используемой даты и даты. С учетом сказанного я быстро приготовил это - вы можете просмотреть дату и время при настройке даты до 2015-3-19. Извините, если это немного грязно, css не взял на себя полностью. https://jsfiddle.net/pyavrjaj/6/ –

+0

Чтобы добавить к этому, если вы хотите просмотреть возвращаемый JSON: Эти два вернулись JSon файлы: 19/3: https: //www.googleapis .com/календарь/v3/календари/vdckbkdr85fvopf88mi1327o00% 40group.calendar.google.com/Событие ключ = AIzaSyD3EZ-traQ21fhwZtJJv6zenQi3w9r5AEw & OrderBy = время_запуск & singleevents = истина & TimeMin = 2015-03-19T00: 00: 00.000Z & timeMax = 2015-03-20T00: 00: 00.000Z –

ответ

0

И еще раз, капитализация заканчивается ошибкой. Я искал свойство datetime, а json возвращал DateTime с заглавной буквы t.

Приношу свои извинения за ненужные неприятности - я думаю, мы все знаем, как иногда вы сталкиваетесь с самыми легкими ответами. Для дальнейшего использования важно отметить, что json IS чувствителен к регистру.

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