2010-07-18 86 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