在Android中,从解析性能方面来看,XML和JSON哪个更好?

8

我是新手安卓开发者。

对于我的安卓应用程序,我该使用XML还是JSON?

在解析性能方面,哪一个更好?

如果有样例代码的话,我将不胜感激。


检查<a href="http://edwardawebb.com/tips/xml-json">this</a>。 - Its not blank
尝试编写一个解析XML字符串的类和另一个解析JSON字符串的类。添加计时代码并运行一些测试。在提问之前,您可以做更多的事情。 - Flynn81
也许这也很有趣(iPhone)https://dev59.com/YXM_5IYBdhLWcg3ww2Kb - Roman Holzner
5个回答

23

JSON比XML更好

XML不适合数据交换

简单性

XML比SGML简单,但是JSON比XML简单得多。 JSON具有更小的语法,并且更直接地映射到现代编程语言中使用的数据结构。

可扩展性

JSON不可扩展,因为它不需要。 JSON不是文档标记语言,因此不必定义新的标记或属性来表示其中的数据。

互操作性

JSON具有与XML相同的互操作性潜力。

开放性

JSON至少与XML一样开放,或许更加开放,因为它并不处于企业/政治标准化斗争的中心。

重量: 由于JSON语法需要较少的字符,因此在传输过程中比XML更轻巧。

但仍取决于要求!


7
之前有一些类似的问题被问到过:Json和XML哪个更好(PHP),它们解释了哪个更快、哪个不太快。
你可以随时使用Google-GSON,它可以使解析JSON(无论数据集有多大)非常快速。虽然可读性受到影响,但我个人更喜欢JSON而不是XML,因为它更容易进行数据交换。

GSON是Android API 11的一部分,我相信;)请参见http://developer.android.com/reference/android/util/JsonReader.html,但如果您想开发API <11的应用程序,则最好使用外部库。 - MrJre

2

XML唯一的好处在于它更易读懂,但是考虑到最终用户不会阅读XML,因此没有必要使用它。

相比XML,JSON更容易/更快地解析。


2

根据经验,由于一个错误导致编码实体被分成单独的标签(http://code.google.com/p/android/issues/detail?id=2607),在Android 2.1及更早版本上解析XML可能会很麻烦。

个人而言,我发现JSON解析更加方便。请查看以下链接:http://www.technotalkative.com/android-json-parsing/


2

如果数据大小不太大,JSON比XML更好。因此,使用JSON API开发的GSON更好,因为它易于处理。 但是,JSON有一个主要缺点,即数据被加载到内存中,然后解析。如果数据大小过大,将会抛出异常。在这种情况下,XML非常有用。 JSON比XML更快,因为使用了哈希。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接