【问题标题】:Comparison - XML with JiBX or JSON with Jackson?比较 - 带有 JiBX 的 XML 或带有 Jackson 的 JSON?
【发布时间】:2013-01-25 10:05:09
【问题描述】:

我需要将文件中的数据导入我的应用程序。显而易见的选择是 XML 和 JSON。我听说 JSON 是轻量级的,当用 Jackson 解析时,它提供了良好的性能。但我也听说用于 XML 的 JiBX 速度很快,并且使用 XMLpull 来提供良好的性能。我想知道选择哪个选项以及为什么?我可以将 XML 与 JiBX 和 JSON 与 Jackson 进行速度比较吗?另外,我想知道 Google Gson 在 JSON 解析方面是否比 Jackson 更好。

【问题讨论】:

    标签: android xml json jackson jibx


    【解决方案1】:

    Json 是轻量级的。如果你想使用大文件使用,JSON 与 Jackson。

    这篇文章给出了很好的解释(特别是阅读注意:)。你有 XML

    DOM、PULL 和 SAX 等不同类型。但据我所知,JSON 是最好的。大型

    文件,更喜欢杰克逊。 http://www.javabeat.net/2011/05/androids-json-parser/

    对于杰克逊和 gson。看看这个链接。

    Jackson Vs. Gson

    所以在比较 xml 和 json 时,我总是建议你使用 json,因为它是 android 的轻量级数据。所以它会很快加载和显示数据。还有gson,

    这取决于您的项目。请看上面的链接对比,你就明白了。

    【讨论】:

    • 你知道JiXB的速度吗?
    【解决方案2】:

    此外,如果您需要,Jackson 还可以使用 XML,https://github.com/FasterXML/jackson-dataformat-xml

    我也同意 Jackson+JSON 将比任何基于 XML 的解决方案更快(根据https://github.com/eishay/jvm-serializers)。 JibX 还不错,并且对于大多数用途来说可能足够快(就像许多其他选项一样)。但如果速度是你的事,Jackson 会比你提到的更快。

    【讨论】:

      【解决方案3】:

      我同意在纯粹的性能方面,JSON 将比 JiBX 更快。

      您选择的工具应取决于您传输的数据。

      如果您有具体的数据定义,请使用 JiBX。 JiBX 特别擅长创建和检索复杂的数据对象。 JiBX 将确保您的数据正确,并自动将您的数据与 Java 对象相互转换。

      如果您想要更大的灵活性,请使用 JSON。 JSON 不会检查您的数据是否正确。

      例如,当您在 JiBX 中创建对象时:

      Person person = new Person();
      person.name = "Don";
      person.age = 52;
      

      当您在 JiBX 中检索信息时:

      System.out.println("Name: " + person.name);
      System.out.println("Age: " + person.age);
      

      在 JSON 中,您的代码如下所示:

      JSONObject person = new JSONObject();
      person.put("name", "Don");
      person.put("age", new Integer(52));
      

      要检索传输的信息:

      String name = person.get("name");
      long age = person.get("age");
      

      如您所见,JiBX 代码更易于阅读,但 JSON 更灵活,因为您没有架构定义。

      在任一解决方案中,您的代码在您的 Android 客户端和您的 java 服务/服务器中完全相同。

      我希望这会有所帮助。

      Don Corley - JiBX 贡献者

      【讨论】:

      • JSON 库有很多,使用方法也很多——尽管一种方法是使用“无类型”树模型(如上所示)。一般来说,XML 也是如此。 JiBX 是一种数据绑定工具,并强加了更多结构(类似于 JSON 的 Jackson 或 GS​​ON 数据绑定)。只是想添加一个注释——上面没有错,为了完整起见添加。
      猜你喜欢
      • 2018-01-25
      • 2012-06-19
      • 1970-01-01
      • 2018-11-15
      • 1970-01-01
      • 2023-03-15
      • 2021-11-08
      • 2014-02-08
      • 2019-01-13
      相关资源
      最近更新 更多