【问题标题】:Android JSONObject vs. GSONAndroid JSONObject 与 GSON
【发布时间】:2011-11-14 12:43:10
【问题描述】:

我无法理解 JSONObject 和 GSON 在 Android 中解析 JSON 字符串的区别。

谁能解释一下?

【问题讨论】:

    标签: android json gson


    【解决方案1】:

    GSON 可以使用 Object 定义直接创建所需类型的对象。 JSONObject 需要手动解析。这是主要区别。

    【讨论】:

      【解决方案2】:

      正如其他人所说,GSON 应该使映射JSONPOJO 变得更加容易,但是,最新的GSON 版本(如我所写,2.2.2)与最新的 Android API 17 存在严重问题(Android 4.2)。

      查看此信息以获取信息:http://code.google.com/p/google-gson/issues/detail?id=496

      如果您现在正在做一个新项目,并希望它与 Android 4.2 兼容,请使用较旧的 GSON(1.7.1 与 Android 4.2 兼容,但速度较慢),或者寻找其他解决方案。

      【讨论】:

        【解决方案3】:

        蒂姆说的也对,

        Gson 是 Android 上用于 JSON 解析的最佳 API。它有一个非常小的 二进制大小(小于 200 KiB),进行快速数据绑定,并且有一个简单的 易于使用的 API。 Android 内置的 JSON 库也不错。你 如果您没有做太多 JSON 并且不需要,应该使用它们 数据绑定。

        【讨论】:

          【解决方案4】:

          Android 上有两个 JSON API:

          org.json 是一个简单的树形 API。它最大的弱点是它 要求您先将整个 JSON 文档加载到字符串中 可以解析它。对于大型 JSON 文档,这可能效率低下。 http://developer.android.com/reference/org/json/package-summary.html

          android.util.JsonReader/JsonWriter 是低级流式 API。 它们很有效,但不做数据绑定,所以你需要写一些 样板代码来使用这些。它们仅适用于 Android 3+。 对于早期版本的 Android,相同的 API 可独立使用 在 Gson 的流包中。 http://developer.android.com/reference/android/util/JsonReader.html

          Gson 的 JsonReader 和 JsonWriter 是从 Android 的 JsonReader 派生的 和 JsonWriter。我从字面上将它们从Android复制并粘贴到 Gson 有一天,并在我优化一个或 其他。

          【讨论】:

          • 到目前为止,org.json 实现的最大弱点是JSONException不方便必须在所有 JSON 内容周围放置一个 try/catch 块。
          • 感谢@aroth 提出宝贵意见。
          猜你喜欢
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2015-03-13
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2023-02-05
          相关资源
          最近更新 更多