Google的JsonparsingGson库:JsonElement和JsonObject有什么区别?

public abstract class JsonElement extends Object 

代表Json元素的类。 它可以是JsonObject,JsonArray,JsonPrimitive或JsonNull。

 public final class JsonObject extends JsonElement 

表示Json中的对象types的类。 一个对象由名称 – 值对组成,其中名称是string,值是任何其他types的JsonElement。 这允许创build一个JsonElements树。 这个对象的成员元素是按照它们被添加的顺序来维护的。

谷歌!

没有这个问题。

  • Retrofit 2示例教程但GsonConverterFactory显示错误“无法解析符号”
  • 使用Gson和Retrofit 2来反序列化复杂的API响应
  • 如何用gson调用默认的反序列化
  • Android:Realm + Retrofit 2 + Gson
  • 将ForeignCollection转换为ArrayList - ORMLite,Gson和Android
  • Android上的ProGuard和Gson(ClassCastException)
  • 如何在android中将gson序列化的对象传递给Intent?
  • 使用GSON创建JSON字符串
  • JsonElement包含JSON中所有有效types的通用代码:

    • 的JSONObject
    • JsonArray
    • JsonPrimitive(string,数字,布尔值)
    • JsonNull

    这允许你编写一个方法,该方法需要一个可以与上述types一起工作的JsonElement

    JsonElement是所有不同特定types的基本types – 它是一个基类,所有节点都应该实现这个基类。 从逻辑上讲,这使得很多的意见。

    所有特定types从JsonElementinheritance的东西对你来说也是一件好事。 它允许你testing一个对象是否是一个Json节点表示,只要检查它是否从JsonElementinheritance。

    JsonElement类作为公共类可用,可能不是因为你想要子类,而是因为你想testing它的子类。