使用NSJSONSerialization (iOS5+) 将 JSON 字符串转换为 Cocoa 对象(NSDictionary
在您的情况下),反之亦然。
PS:如果您还需要支持 5.0 之前的 iOS 版本,即NSJSONSerialization
不可用的地方,则有第三方库,JSONKit
例如。然后,您可以始终JSONKit
在 iOS4 和 iOS5 上使用,或者您可以在运行时测试NSJSONSerialization
可用性并在可用时使用它(但JSONKit
如果没有则回退)。
(有关跨 SDK 开发的更多详细信息,例如制作和应用程序与 iOS4 兼容但能够在可用时使用 iOS5 类,请参阅SDK 兼容性指南)
顺便说一句,您应该(必须)避免使用同步 URL 请求。这将阻塞您的线程,直到它收到来自网络的响应。如果您在主线程上执行它,您的整个 UI 将被冻结,直到您收到响应,这在移动环境中可能需要几秒钟(您并不总是拥有最佳的网络覆盖范围)。
更喜欢:
- 使用使用委托的 NSURLConnection 的 API(有关详细信息,请参阅URL 加载系统编程指南),
- 或者使用新引入的
sendAsynchronousRequest:queue:completionHandler:
方法(iOS5+)在后台 NSOperation 中执行请求,
- 或者使用一些第三方框架,这将使您更轻松地处理请求(我推荐使用AFNetworking,它也非常适合与 WebServices 通信并自动将响应转换为 JSON 对象,使用块来异步处理响应并使您的代码更容易编写和理解,等等)