【问题标题】:Serialize JSON string SBJSON vs NSJSONSerialization vs anything else?序列化 JSON 字符串 SBJSON vs NSJSONSerialization vs 其他什么?
【发布时间】:2013-04-09 01:30:01
【问题描述】:

我正在接收这个 JSON 字符串,想知道如何将其序列化为字典,以便将其解析为托管对象。

我已经查看了几种方法(在标题中命名),但似乎找不到最简单、最快的替代方法。我想使用 NSJSONSerialization,但我不确定它是否可以这样做?

字符串所在的代码

NSString *data = [[NSString alloc]initWithData:response encoding:NSUTF8StringEncoding];
        NSLog(@"String %@",data);

NSLog 消息

String [{"0":"1","id":"1","1":"re ee","name":"re ee","2":"http:\/\/ree.com\/images\/re.png","backgroundImageUrl":"http:\/\/ree.com\/images\/re.png","3":"http:\/\/ree.com\/images\/re.png","logoImageUrl":"http:\/\/ree.com\/images\/re.png"}]<br />

提前谢谢你

【问题讨论】:

  • 两者都相当可靠。 (说实话,SBJSON 有更多的“老化”时间,但 NSJSONSerialization 背后有 Apple 支持。)在某种程度上它只是与哪个更方便有关。使用 SBJSON,您可以使用 NSStrings,而使用 NSJSONSerialization,您可以使用 NSData,以及一些小的操作差异。我不会打扰其他任何人。
  • 所以我正在使用显然使用 NSStrings 的 AFNetworking?
  • 好吧,在你上面的例子中,response 是 NSData,我假设。

标签: ios nsjsonserialization sbjson


【解决方案1】:

JSONKit 是您正在寻找的。​​p>

除了易用性之外,它比SBJSon快,甚至比NSJSONSerialization还要快。

对于您的示例,您可以获得这样的数组:

NSArray* arrayFromJson = [data objectFromJSONString];
NSString* id = arrayFromJson[0][@"id"];

简单吧?

【讨论】:

  • NSJSONSerialization 非常好。 JSONKit 有一个潜在的问题——由于它使用了不推荐使用的函数。它不再比 NSJSONSerialization 快多少,因为 Apples 解析器变得更快了。
  • 谁能提供有关解析速度现在如何的任何见解? GitHub 上 Readme.md 的最后一次更新是 2 年。我想知道现在情况如何。
  • NSJSONSerialization一路
猜你喜欢
  • 1970-01-01
  • 2012-06-21
  • 1970-01-01
  • 2013-06-01
  • 2011-04-30
  • 1970-01-01
  • 2018-11-10
  • 2018-04-10
  • 1970-01-01
相关资源
最近更新 更多