Google的Json Parsing Gson库:JsonElement和JsonObject有什么区别?


public abstract class JsonElement extends Object 

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

public final class JsonObject extends JsonElement 

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

耶谷歌!

没关系这个问题。

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

  • JsonObject
  • JsonArray
  • JsonPrimitive (string, number, boolean)
  • JsonNull

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

JsonElement

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

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

JsonElement类作为公共类可供您使用,可能不是因为您想要对其进行子类化,而是因为您想要测试其子类。

最新更新