从SBJson 2.2迁移到SBJson 5

时间:2017-02-02 14:39:17

标签: sbjson

你好我们正在使用SBJson lib和版本pod' SBJson','〜> 2.2.3'并希望迁移到最新版本pod' SBJson5','〜> 5.0.0&#39 ;.

迁移的努力是什么。我的意思是它是否支持旧方法,或者我是否需要找到已弃用或已更改的方法或任何其他特定更改。

是否有人使用此lib或使用SBJson完成迁移会发布到此线程。 请提出一些解决方案

1 个答案:

答案 0 :(得分:0)

我不知道您的使用情况有多复杂,但您最终必须进行一些手动编辑。我发布了第3版,2011年重点转向流JSON方式,我坦率地惊讶版本2.x.x甚至今天编译!

我尝试记录repo的NEWS文件中的更改。在命名版本时,我尝试关注SemVer,这意味着每个2.x.x - > 3.x.x和3.x.x - > 4.x.x和4.x.x - > 5.x.x之所以被命名是因为它们都以某种方式破坏了向后兼容性。

对于版本3,API经历了一次重大改变,专注于流媒体。许多API都改变了以支持这一点。版本4进一步删除了3.1.x,3.2.x和3.3.x系列中已废弃的旧方法。对于4 - > 5突破性变化非常小:API保持不变,只有行为略有不同。 (" Naked Scalars",例如字符串和数字未包含数组或对象,现在按照更新的JSON RFC接受。)

您是否考虑过是否确实需要使用SBJson?你可能最好只使用NSJSONSerialisation。毕竟,自从iOS 5开始,它已经进入了iOS SDK,之后又进入了Mac SDK。使用SBJson的主要好处是,如果您希望能够在完全下载之前开始解析JSON。 (从而改善感知延迟。)

您可能遇到的其他问题:自2.x.x发布以来,我修复了很多错误,这意味着解析器现在比当时更加严格。 (由于它曾经允许使用各种破坏的JSON,并且破坏了UTF-8。)因此,如果您依赖任何这种行为,那么您将失去运气。希望情况并非如此: - )