Неисправность разбора многоуровневого JSON
-
03-07-2019 - |
Вопрос
У меня есть кусок JSON, который выглядит примерно так:
{
"map": [
[
"zimbraFeatureCalendarUpsellEnabled",
"FALSE"
],
[
"zimbraPrefCalendarDayHourStart",
"8"
],
[
"zimbraFeatureOptionsEnabled",
"TRUE"
],
[
"zimbraAttachmentsViewInHtmlOnly",
"FALSE"
]
]
}
(и так далее; есть более 200 записей)
Мне нужно иметь возможность выбирать отдельные пары ключ / значение из ответа JSON, либо с помощью jQuery, либо с простым старым Javascript. Однако я не смог понять, как обращаться к конкретному ключу. Есть идеи?
Решение
То, что вы описали, - это объект одного уровня с целой кучей вложенных массивов, поэтому доступ к ним будет
myObject.map[entryNumber][0 or 1] // 0 == key, 1 == value
Возможно, вы хотите что-то похожее на это (если вы не работаете с существующим API или чем-то подобным):
{
"map": {
"zimbraFeatureCalendarUpsellEnabled": "FALSE",
"zimbraPrefCalendarDayHourStart": "8",
...
}
}
Другие советы
Вместо использования массивов вы можете использовать объект:
{
map : {
"zimbraFeatureCalendarUpsellEnabled" : "FALSE",
"zimbraPrefCalendarDayHourStart" : "8",
"zimbraFeatureOptionsEnabled" : "TRUE",
"zimbraAttachmentsViewInHtmlOnly" : "FALSE"
}
}
и затем получить к нему доступ:
myJSONObject.map.zimbraFeatureCalendarUpsellEnabled;
Не связан с StackOverflow