我应该在 Android 应用程序中使用 XML 还是 JSON 作为数据格式?

Posted

技术标签:

【中文标题】我应该在 Android 应用程序中使用 XML 还是 JSON 作为数据格式?【英文标题】:Should I use XML or JSON as a data format in Android Applications? 【发布时间】:2011-01-19 23:48:54 【问题描述】:

我开始为 Google android 开发一个应用程序,并且严重依赖可以通过 json 或 xml 以安静的方式传递数据的 Web API。我现在必须决定选择哪个库。

我看到 google 在 API 中包含 org.json 类,但尚未对其进行测试。

您的体验如何?我应该使用什么库/API,为什么?

【问题讨论】:

【参考方案1】:

如果您的主要目标是内部 API,它只是您控制的服务器和您正在创建的客户端之间的链接,我强烈推荐 JSON - 在大多数情况下它更简洁,从而最大限度地减少数据传输必要的。

使用 org.json 解析 JSON 就像将 JSON 字符串传递给 JSONObject 的构造函数一样简单,然后对每个预期属性使用适当的类型获取方法。

【讨论】:

简单的 json 是否对生成 Web 后端或手机更有用?对我来说最重要的是以非常快速和简单的方式编写 android 客户端。后端都已经提供了 嗯,我主要提出的论点与两者都无关,但更多的是两者之间的数据链接;然而 JSON 可以很好地直接解析和使用(尽管也有一些不错的 XML 库)。一般来说,对于已知格式,JSON 很可能会因为其简洁性而解析得稍快一些,但在除数据密集型应用程序之外的所有应用程序中,这可能不会有明显的速度差异。 我现在正在使用 Json 并使用 google-gson 进行解析 请记住,只有标签长于数据时,JSON 才会更小。如果您发送的数据多于发送的标签,那么它们大致相同,并且您最好使用 XML 来获得快速的解析速度。我还认为人们期望缓慢的移动加载时间和快速的应用程序运行时间,因此请尽量不要通过使用较慢的格式进行解析来减慢应用程序的时间。 @Amber:我很确定这仅适用于小文件。对于较大的文件,很明显 XML 只需要一次传递,我认为大多数 JSON 都是多传递(尽管我可能错了)。

以上是关于我应该在 Android 应用程序中使用 XML 还是 JSON 作为数据格式?的主要内容,如果未能解决你的问题,请参考以下文章

在 Android 中保存 xml 文件的问题

将 xml 文件从 sdcard 获取到 android 应用程序?

android:hint 在 styles.xml 中声明,但仍有警告“您应该为 EditText 提供 `android:hint`”

在布局 XML 中编辑 android:tag

以编程方式从 android 中的 manifest.xml 检索权限

在 Android 中使用自定义字体