从 JSON 创建对象
Posted
技术标签:
【中文标题】从 JSON 创建对象【英文标题】:Creating Objects from JSON 【发布时间】:2012-07-29 08:18:08 【问题描述】:我希望能够使用从 Web 服务接收到的 JSON 字符串创建 NSArray 或 NSDictionary。我正在使用 json 框架来执行此操作。响应字符串将类似于以下内容:
count:2,
data:["ID":8,
"Title":"Test Title",
"Author":"Test Author",
"Price":"18.00",
"Edition":"1st",
"Condition":"Good",
"UploadDate":"2012-07-28 07:25:56.0"
,
"ID":9,
"Title":"Test Title",
"Author":"Test Author",
"Price":"18.000000000000",
"Edition":"1st",
"Condition":"Good",
"UploadDate":"2012-07-28 07:27:06.0"
]
我的问题是,从“数据”数组中获取所有数据并使用它来创建 NSArray 或 NSDictionary 的最有效方法是什么?任何帮助将不胜感激
【问题讨论】:
好吧,如果您已经在使用框架,该框架不应该为您解决这个问题吗? 你使用的是哪个框架? 来自 Stig Brauest 的 JSON 框架。你能举个例子吗?谢谢。 @TimStullich:发布的数据不是有效的 JSON 数据。只需在JSONLint 中尝试。必须引用所有键(在您的情况下为“count”和“data”)。 谢谢。我修复了这些错误。 【参考方案1】:我使用 RestKit 进行 JSON 解析。它拥有从服务器获取 json、将其转换为字典并从那里转换为您可以使用的对象所需的一切。这可能比你敢于希望的要多,但它就像一种魅力。查看https://github.com/RestKit/RestKit 了解更多信息。
【讨论】:
【参考方案2】:从 ios5 开始,json 解析器已被集成为 SDK 原生组件,请参阅以下链接 http://www.raywenderlich.com/5492/working-with-json-in-ios-5。 您将创建一个具有 2 个键“count”和“data”的 NSDictionary,然后您将使用 objectForKey 和“data”键获取 NSArray。
【讨论】:
以上是关于从 JSON 创建对象的主要内容,如果未能解决你的问题,请参考以下文章