我正在使用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”中的元素。
由于
答案 0 :(得分:2)
一个简单的方法,如果你有一个词典字典,就是使用valueForKeyPath:
例如:
NSString *carName = [responseDict valueForKeyPath:@"car_list.car_name"];
您需要做的就是用句点加入你的密钥。如果这些路径中的任何一个返回数组或集合,那么您将收到一个集合。您还可以使用set / array键值编码路径来计算集合上的内容,例如@ avg和@count。