2010-07-18 115 views
2
使用JSON框架

所以我有JSON的框架,並在我的項目運行,但需要幫助搞清楚如何使用它來解析這個JSON字符串:需要幫助的iPhone

[ 
    { 
    "id":"0", 
    "name":"name", 
    "info":"This is info", 
    "tags": 
     [ 
      { 
      "id":"36", 
      "tag":"test tag" 
      }, 
      { 
      "id":"37", 
      "tag":" tag 2" 
      } 
     ], 
    "other":"nil" 
    }, 
    { 
    "id":"1", 
    "name":"name", 
    "info":"This is info", 
    "tags": 
     [ 
      { 
      "id":"36", 
      "tag":"test tag" 
      }, 
      { 
      "id":"37", 
      "tag":" tag 2" 
      } 
     ], 
    "other":"nil" 
} 

]

任何幫助和可能的示例代碼如何去這個特定類型的JSON會很好。不知何故,我無法將它讀入我可以讀出的字典中。非常感謝。

回答

7

爲什麼你不能把這個字符串轉換成字典的原因是因爲它不是一本字典,這是一個陣列字典

你可以得到的值成Objective-C的對象通過將其存儲在一個NSArray:

NSArray *objects = (NSArray*) [jsonString JSONValue]; 

然後,可以遍歷那些數組中的對象:

for(NSDictionary *dict in objects) { 
    NSString *id = (NSString *) [dict objectForKey:@"id"]; 
    NSString *name = (NSString *) [dict objectForKey:@"name"]; 
    NSArray *tags = (NSArray *) [dict objectForKey: @"tags"]; 
    //loop over tags here... 
    for(NSDictionary *tag in tags) { 
     NSString *tag_id = (NSString *) [tag objectForKey:@"id"]; 
     NSString *tag_name = (NSString *) [tag objectForKey:@"tag"]; 
    } 
    //... 
} 
+2

我可能不能向你表示感謝。我真的不熟悉json解析,並且一直到現在,我都花了一些時間找到一個教程或任何人來幫助我。謝謝。 – Alexander 2010-07-18 07:25:51

+0

@Alexander,非常受歡迎。任何時候。 – 2010-07-18 07:28:13