2009-03-06 64 views
0

我有JSON的一大块看起来是这样的:故障解析的多级JSON

{ 
"map": [ 
    [ 
     "zimbraFeatureCalendarUpsellEnabled", 
     "FALSE" 
    ], 
    [ 
     "zimbraPrefCalendarDayHourStart", 
     "8" 
    ], 
    [ 
     "zimbraFeatureOptionsEnabled", 
     "TRUE" 
    ], 
    [ 
     "zimbraAttachmentsViewInHtmlOnly", 
     "FALSE" 
    ] 
] 
} 

(依此类推;有超过200项)

我需要能够挑选出个别键/值对来自JSON响应,无论是使用jQuery还是普通的旧Javascript。尽管如此,我还是无法弄清楚如何解决特定的关键问题。有任何想法吗?

回答

3

你所描述什么是一个级别的对象,有一大堆嵌套数组访问将是

myObject.map[entryNumber][0 or 1] // 0 == key, 1 == value 

你可能想要类似这样的东西(除非你正在与存在摹API或类似):

{ 
    "map": { 
     "zimbraFeatureCalendarUpsellEnabled": "FALSE", 
     "zimbraPrefCalendarDayHourStart": "8", 
     ... 
    } 
} 
3

而不是使用数组,你可以使用一个对象:

{ 
    map : { 
     "zimbraFeatureCalendarUpsellEnabled" : "FALSE", 
     "zimbraPrefCalendarDayHourStart" : "8", 
     "zimbraFeatureOptionsEnabled" : "TRUE", 
     "zimbraAttachmentsViewInHtmlOnly" : "FALSE" 
    } 
} 

,然后对其进行访问:

myJSONObject.map.zimbraFeatureCalendarUpsellEnabled; 
+0

一个JS/JSON的愉快特质的意思是JSON属性必须加引号(JSON比JS引擎更为严格的JSON开发人员希望确保有一个单一的格式,但保留字,符号等是不是有效的js属性名称不带引号) – olliej 2009-03-06 07:02:19