【问题标题】:Gson.toJson() vs JSONObject.toString()Gson.toJson() 与 JSONObject.toString()
【发布时间】:2019-06-16 12:09:30
【问题描述】:

#1 和#2 是否总是产生相同的输出? 使用一种解决方案比另一种解决方案有什么优势?

解决方案 #2 对我来说看起来更干净、更简单,是不是也更快?

解决方案一:

val gson = Gson()
val j = JsonObject() //com.google.gson
j.add("foo", gson.fromJson(getBar(), JsonElement::class.java))
val jString = gson.toJson(j)
Log.d(TAG,jString)

解决方案二:

val j1 = JSONObject() //org.json
j1.put("foo", getBar())
val jString1 = j1.toString()
Log.d(TAG,jString1)


fun getBar() : String {
    //do stuff and return a string
}

【问题讨论】:

    标签: android json kotlin gson tostring


    【解决方案1】:

    JSONObject 已包含在 Android API 中。如果要使用Gson,则必须将其作为 gradle 依赖项导入。

      compile 'com.google.code.gson:gson:<versionNumber>'
    

    当然,你导入的东西越多,你的 .apk 就越大。

    另一方面,GSon 为您提供一系列注释,这使得 DX 更容易,因为您需要编写更少的代码。

    我从未对它们进行基准测试,因此我不会谈论性能,但我相信它们都受益于来自 Java 的 JsonObject

    Gson.toJson()JSONObjet.toString() 具有相同的效果。它们映射您的 JSON 对象并作为字符串返回给您。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2017-12-12
      • 2012-04-29
      • 1970-01-01
      • 2015-11-11
      • 1970-01-01
      • 2013-05-09
      • 2018-07-10
      • 1970-01-01
      相关资源
      最近更新 更多