iphone - 如何从 iphone 中的 json 数组中获取对象?

标签 iphone ios json iphone-sdk-3.0

我正在开发一个涉及使用 json-framework 的 iPhone 应用程序。我正在使用 NSURL 获取数组

[{"firstName":"X","lastName":"Y","id":1},{"firstName":"A","lastName":"B","id":2}]

如果我查询 id=1,我怎样才能得到这两个对象,O/P 是

id=1
firstName:X
lastName:Y

并将其放入表格中。 我在谷歌上搜索了很多天的东西,但没有得到任何解决方案。 请帮助我,感谢通过代码进行解释。

谢谢。

最佳答案

如果你的目标SDK是ios4或更高版本,你可以使用这个项目

https://github.com/stig/json-framework/

将源代码添加到项目后,只需

#import "SBJson.h"

并按如下方式转换您的 Json 字符串

jsonResponse = [string JSONValue];

如果您的字符串中没有完整的 Json 数组,该方法将失败,但您可以继续追加字符串,直到它不失败为止

跟进下面codejunkie的请求 你可以在你的数据结构中假设 jsonResponse 是一个 NSArray 在其他实现中,请注意测试 NSArray 或 NSDictionary 的响应

NSArray * myPeople = [string JSONValue]; 
NSMutableDictionary * organizedData = [[NSMutableDictionary alloc] init];
for (NSDictionary * p in myPeople) {
    [organizedData setValue:p forKey:[p valueForKey:@"id"]];
}
    // now you can query for an id like so
    // [organizedData valueForKey:@"1"]; and your output will be what you wanted from the original question
    // just don't forget to release organizedData when you are done with it

关于iphone - 如何从 iphone 中的 json 数组中获取对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7958992/

相关文章:

iphone - 如何在 Landscape 而不是 Portrait 中显示 UIImagePickerControllerSourceTypeCamera

iPhone SDK - UIWebView 上面有一个灰色框

iphone - 本地通知问题

android - 登录在 Ionic View 应用程序中不起作用

ios - Delphi Firemonkey ios 后台获取

ios - 即使 didReceiveRemoteNotifications 没有被 iOS 调用,静默通知是否会像普通通知一样显示

iPhone - 使用 CGContext 在黑色 View 上绘制白色文本

Python 编辑/重命名 .json 中的键名

c# - 从 JSON 中搜索和删除节点

json - AngularJS 获取 JSON 的 HTTP 状态 0