JSON 子级别提取 - 如何? Objective-C
Posted
技术标签:
【中文标题】JSON 子级别提取 - 如何? Objective-C【英文标题】:JSON Sub Level Extraction - How to? Objective-C 【发布时间】:2011-09-28 00:27:49 【问题描述】:我正在使用SBJSON(并且是 JSON 新手),并且可以轻松地提取 httprequest 的响应数据,并在其最顶层使用它。问题是我对访问子级别中的元素一无所知。
例如:
1 级:
键:id
键:car_list
=========
car_list(2 级)
密钥:car_id
密钥:汽车名称
键:car_size
就像我说的,我可以通过以下方式访问***对象:
NSDictionary *responseDict = [responseString JSONValue];
NSString *id = [responseDict objectForKey:@"id"];
但不知道如何访问“car_list”中的元素。
谢谢
【问题讨论】:
【参考方案1】:一个简单的方法是使用 valueForKeyPath:
例如:
NSString *carName = [responseDict valueForKeyPath:@"car_list.car_name"];
您需要做的就是将您的密钥与句点连接起来。如果这些路径中的任何一个返回一个数组或集合,那么您将收到一个集合。您还可以使用 set/array 键值编码路径来计算集合上的内容,例如 @avg 和 @count。
【讨论】:
以上是关于JSON 子级别提取 - 如何? Objective-C的主要内容,如果未能解决你的问题,请参考以下文章
在 sqlite 中使用 json_extract 从父对象和子对象中提取数据