2012-06-08 121 views
20
public abstract class JsonElement extends Object 

表示Json元素的類。它可以是JsonObject,JsonArray,JsonPrimitive或JsonNull。谷歌的Json解析Gson庫:JsonElement和JsonObject有什麼區別?

public final class JsonObject extends JsonElement 

表示Json中的對象類型的類。一個對象由名稱 - 值對組成,其中名稱是字符串,值是任何其他類型的JsonElement。這允許創建一個JsonElements樹。該對象的成員元素按照添加順序進行維護。

谷歌!

沒有那個問題。

回答

19

JsonElement包含在JSON所有有效類型的通用代碼:

  • 的JSONObject
  • JsonArray
  • JsonPrimitive(字符串,數字,布爾)
  • JsonNull

這使得你寫一個方法,需要一個JsonElement與任何上述類型的作品。

3

JsonElement是所有不同特定類型的基本類型 - 它是所有節點都應該實現的普通事物的基類。從邏輯上講,這使得很多的意見。

所有特定類型從JsonElement繼承的東西對你來說也是好事。它允許您通過檢查它是否繼承自JsonElement來測試對象是否爲Json節點表示形式。

JsonElement類可以作爲公共類使用,可能不是因爲您想要子類,而是因爲您想要測試其子類。