مشكلة في تحليل متعدد المستويات JSON
-
03-07-2019 - |
سؤال
ولدي قطعة من JSON والتي تبدو شيئا مثل:
{
"map": [
[
"zimbraFeatureCalendarUpsellEnabled",
"FALSE"
],
[
"zimbraPrefCalendarDayHourStart",
"8"
],
[
"zimbraFeatureOptionsEnabled",
"TRUE"
],
[
"zimbraAttachmentsViewInHtmlOnly",
"FALSE"
]
]
}
(وهلم جرا؛ هناك 200+ مقالات)
وأنا بحاجة إلى أن تكون قادرة على اقتطاف أزواج مفتاح / قيمة فردية من استجابة JSON، إما مع مسج أو جافا سكريبت سهل القديمة. لم أكن قادرا على معرفة كيفية معالجة مفتاح معين، وإن كان. أي أفكار؟
المحلول
وما وصفته هو كائن مستوى واحد، مع مجموعة كاملة من المصفوفات المتداخلة الوصول إلى ذلك سوف يكون
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