Problème lors de l'analyse JSON multiniveau
-
03-07-2019 - |
Question
J'ai un morceau de JSON qui ressemble à quelque chose comme:
{
"map": [
[
"zimbraFeatureCalendarUpsellEnabled",
"FALSE"
],
[
"zimbraPrefCalendarDayHourStart",
"8"
],
[
"zimbraFeatureOptionsEnabled",
"TRUE"
],
[
"zimbraAttachmentsViewInHtmlOnly",
"FALSE"
]
]
}
(et ainsi de suite; il y a plus de 200 entrées)
Je dois pouvoir sélectionner des paires clé / valeur individuelles dans la réponse JSON, soit avec jQuery, soit avec du vieux Javascript pur. Je n'ai pas été capable de comprendre comment traiter une clé spécifique, cependant. Des idées?
La solution
Ce que vous avez décrit est un objet à un seul niveau, avec tout un tas de tableaux imbriqués, donc l'accès sera
.myObject.map[entryNumber][0 or 1] // 0 == key, 1 == value
Vous voulez probablement quelque chose de semblable à ceci (à moins que vous ne travailliez avec une API existante ou autre):
{
"map": {
"zimbraFeatureCalendarUpsellEnabled": "FALSE",
"zimbraPrefCalendarDayHourStart": "8",
...
}
}
Autres conseils
Au lieu d'utiliser des tableaux, vous pouvez utiliser un objet:
{
map : {
"zimbraFeatureCalendarUpsellEnabled" : "FALSE",
"zimbraPrefCalendarDayHourStart" : "8",
"zimbraFeatureOptionsEnabled" : "TRUE",
"zimbraAttachmentsViewInHtmlOnly" : "FALSE"
}
}
puis d'y accéder:
myJSONObject.map.zimbraFeatureCalendarUpsellEnabled;
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow