tutorial java android gson

java - tutorial - La biblioteca de Google Json Parsing Gson: ¿Cuál es la diferencia entre JsonElement y JsonObject?



object to jsonobject java (2)

public abstract class JsonElement extends Object

Una clase que representa un elemento de Json. Podría ser un objeto JsonObject, un JsonArray, un JsonPrimitive o un JsonNull.

public final class JsonObject extends JsonElement

Una clase que representa un tipo de objeto en Json. Un objeto consta de pares nombre-valor donde los nombres son cadenas y los valores son cualquier otro tipo de JsonElement. Esto permite crear un árbol de JsonElements. Los elementos miembros de este objeto se mantienen en el orden en que se agregaron.

Yay google!

No importa esa pregunta.


JsonElement contiene código común para todos los tipos válidos en JSON:

  • JsonObject
  • JsonArray
  • JsonPrimitive (cadena, número, booleano)
  • JsonNull

Esto le permite escribir un método que toma un JsonElement que funciona con cualquiera de los tipos anteriores.


JsonElement es el tipo base para todos los diferentes tipos específicos, es una clase base con cosas comunes que todos los nodos deberían implementar. Lógicamente, esto tiene mucho sentido.

Lo que todos los tipos específicos heredan de JsonElement es bueno para usted. Le permite probar si un objeto es una representación de nodo Json, simplemente verificando si hereda de JsonElement .

La clase JsonElement está disponible para usted como una clase pública, probablemente no porque quiera subclasificarla, sino porque desea probar sus subclases.