用于 iOS 的 REST API 的良好序列化格式?

Posted

技术标签:

【中文标题】用于 iOS 的 REST API 的良好序列化格式?【英文标题】:Good serialization format to use for REST API intended for iOS? 【发布时间】:2011-07-13 19:25:22 【问题描述】:

通常对于 REST API,我会使用 JSON 作为输出序列化格式,但我想知道这对于 ios 开发(特别是 iPad)是否仍然是一个不错的选择,因为环境更加资源受限。

有多种适用于 iOS 的 JSON 和 XML 库,但是否有一些最佳实践,或者有理由采取一种或另一种方式?

或者使用 plist 格式的 XML 会更好吗,因为 plist 编码/解码看起来像是内置在 iOS 中的?

【问题讨论】:

【参考方案1】:

iOS 一般更喜欢XML in a PLIST/Bundle format.

但是,这在本质上并不是特别轻量级,而且肯定不是普遍易读的(如果您决定扩展到非 Apple 环境)。对于 iOS,JSON 仍然是一个不错的选择,使用 SBJSON 框架之类的库。

因此,这实际上取决于您希望与 iOS/Mac OS 的绑定程度。这两种选择都非常容易处理。

【讨论】:

当然还有其他语言和平台的plist库,Core Foundation的plist-code是开源的。【参考方案2】:

似乎只有二进制 plist 格式会带来 any 性能优势,而使用二进制格式有很多缺点。即使这样,JSONKit 库也比 Apple 内置的二进制 plist 解析器快几倍。这是回答了我所有问题的文章:

JSON versus PLIST, the Ultimate Showdown

所以我想我会坚持使用 JSON,并且可能会选择 JSONKit。

【讨论】:

以上是关于用于 iOS 的 REST API 的良好序列化格式?的主要内容,如果未能解决你的问题,请参考以下文章

REST API 错误返回良好做法 [关闭]

用于检索对象集基数的 REST API

Firebase 云消息传递 - PHP Rest API 不适用于 iOS

保护 MY REST API 仅用于 MY IOS APP

grails spring security rest /api/login 401 Unauthorized

REST API 和 Websocket API [关闭]