【问题标题】:Google's Json Parsing Gson library: What's the difference between JsonElement and JsonObject?Google 的 Json Parsing Gson 库:JsonElement 和 JsonObject 有什么区别?
【发布时间】:2012-06-12 20:46:04
【问题描述】:
public abstract class JsonElement extends Object 

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

public final class JsonObject extends JsonElement 

在 Json 中表示对象类型的类。对象由名称-值对组成,其中名称是字符串,值是任何其他类型的 JsonElement。这允许创建 JsonElements 树。此对象的成员元素按添加顺序进行维护。

谷歌!

别在意这个问题。

【问题讨论】:

    标签: java android gson


    【解决方案1】:

    JsonElement 是所有不同特定类型的基类型 - 它是一个基类,具有所有节点都应实现的共同事物。从逻辑上讲,这很有意义。

    所有特定类型从JsonElement 继承的东西对你来说也是一件好事。它允许您测试一个对象是否是 Json 节点表示,只需检查它是否继承自 JsonElement

    JsonElement 类作为公共类可供您使用,这可能不是因为您想要子类化它,而是因为您想要测试它的子类。

    【讨论】:

      【解决方案2】:

      JsonElement 包含 JSON 中所有有效类型的通用代码:

      • JsonObject
      • JsonArray
      • JsonPrimitive(字符串、数字、布尔值)
      • JsonNull

      这允许您编写一个采用JsonElement 的方法,该方法适用于上述任何类型。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-07-25
        • 1970-01-01
        • 1970-01-01
        • 2011-02-22
        • 1970-01-01
        相关资源
        最近更新 更多