Google's Json Parsing Gson library: What's the difference between JsonElement and JsonObject?

Teddy picture Teddy · Jun 8, 2012 · Viewed 28.4k times · Source
public abstract class JsonElement extends Object 

A class representing an element of Json. It could either be a JsonObject, a JsonArray, a JsonPrimitive or a JsonNull.

public final class JsonObject extends JsonElement 

A class representing an object type in Json. An object consists of name-value pairs where names are strings, and values are any other type of JsonElement. This allows for a creating a tree of JsonElements. The member elements of this object are maintained in order they were added.

Yay google!

Nevermind that question.

Answer

Juan Mendes picture Juan Mendes · Jun 8, 2012

JsonElement contains common code for all the valid types in JSON:

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

This allows you a write a method that takes a JsonElement that works with any of the above types.