JSON子级别提取 - 如何? Objective-C的

时间:2011-09-28 00:27:50

标签: iphone objective-c ios json

我正在使用SBJSON(并且是JSON的新手)并且可以轻松地在最高级别提取httprequest的响应数据。问题是我对访问子级别中的元素毫无头绪。

例如:

等级1:

Key:id

键:car_list

=========

car_list(等级2)

键:car_id

密钥:car_name

键:car_size

就像我说的那样,我可以使用:

访问顶级对象
NSDictionary *responseDict = [responseString JSONValue];
NSString *id = [responseDict objectForKey:@"id"];

但不知道如何访问“car_list”中的元素。

由于

1 个答案:

答案 0 :(得分:2)

一个简单的方法,如果你有一个词典字典,就是使用valueForKeyPath:

例如:

NSString *carName = [responseDict valueForKeyPath:@"car_list.car_name"];

您需要做的就是用句点加入你的密钥。如果这些路径中的任何一个返回数组或集合,那么您将收到一个集合。您还可以使用set / array键值编码路径来计算集合上的内容,例如@ avg和@count。