Class JsonObject

java.lang.Object
com.google.gson.JsonElement
com.google.gson.JsonObject

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. This class does not support null values. If null is provided as value argument to any of the methods, it is converted to a JsonNull.

JsonObject does not implement the Map interface, but a Map view of it can be obtained with asMap().

Author:
Inderjeet Singh, Joel Leitch
  • Constructor Details

    • JsonObject

      public JsonObject()
      Creates an empty JsonObject.
  • Method Details

    • deepCopy

      public JsonObject deepCopy()
      Creates a deep copy of this element and all its children.
      Specified by:
      deepCopy in class JsonElement
      Since:
      2.8.2
    • add

      public void add(String property, JsonElement value)
      Adds a member, which is a name-value pair, to self. The name must be a String, but the value can be an arbitrary JsonElement, thereby allowing you to build a full tree of JsonElements rooted at this node.
      Parameters:
      property - name of the member.
      value - the member object.
    • remove

      public JsonElement remove(String property)
      Removes the property from this object.
      Parameters:
      property - name of the member that should be removed.
      Returns:
      the JsonElement object that is being removed, or null if no member with this name exists.
      Since:
      1.3
    • addProperty

      public void addProperty(String property, String value)
      Convenience method to add a string member. The specified value is converted to a JsonPrimitive of String.
      Parameters:
      property - name of the member.
      value - the string value associated with the member.
    • addProperty

      public void addProperty(String property, Number value)
      Convenience method to add a number member. The specified value is converted to a JsonPrimitive of Number.
      Parameters:
      property - name of the member.
      value - the number value associated with the member.
    • addProperty

      public void addProperty(String property, Boolean value)
      Convenience method to add a boolean member. The specified value is converted to a JsonPrimitive of Boolean.
      Parameters:
      property - name of the member.
      value - the boolean value associated with the member.
    • addProperty

      public void addProperty(String property, Character value)
      Convenience method to add a char member. The specified value is converted to a JsonPrimitive of Character.
      Parameters:
      property - name of the member.
      value - the char value associated with the member.
    • entrySet

      public Set<Map.Entry<String,JsonElement>> entrySet()
      Returns a set of members of this object. The set is ordered, and the order is in which the elements were added.
      Returns:
      a set of members of this object.
    • keySet

      public Set<String> keySet()
      Returns a set of members key values.
      Returns:
      a set of member keys as Strings
      Since:
      2.8.1
    • size

      public int size()
      Returns the number of key/value pairs in the object.
      Returns:
      the number of key/value pairs in the object.
      Since:
      2.7
    • has

      public boolean has(String memberName)
      Convenience method to check if a member with the specified name is present in this object.
      Parameters:
      memberName - name of the member that is being checked for presence.
      Returns:
      true if there is a member with the specified name, false otherwise.
    • get

      public JsonElement get(String memberName)
      Returns the member with the specified name.
      Parameters:
      memberName - name of the member that is being requested.
      Returns:
      the member matching the name, or null if no such member exists.
    • getAsJsonPrimitive

      public JsonPrimitive getAsJsonPrimitive(String memberName)
      Convenience method to get the specified member as a JsonPrimitive.
      Parameters:
      memberName - name of the member being requested.
      Returns:
      the JsonPrimitive corresponding to the specified member, or null if no member with this name exists.
      Throws:
      ClassCastException - if the member is not of type JsonPrimitive.
    • getAsJsonArray

      public JsonArray getAsJsonArray(String memberName)
      Convenience method to get the specified member as a JsonArray.
      Parameters:
      memberName - name of the member being requested.
      Returns:
      the JsonArray corresponding to the specified member, or null if no member with this name exists.
      Throws:
      ClassCastException - if the member is not of type JsonArray.
    • getAsJsonObject

      public JsonObject getAsJsonObject(String memberName)
      Convenience method to get the specified member as a JsonObject.
      Parameters:
      memberName - name of the member being requested.
      Returns:
      the JsonObject corresponding to the specified member, or null if no member with this name exists.
      Throws:
      ClassCastException - if the member is not of type JsonObject.
    • asMap

      public Map<String,JsonElement> asMap()
      Returns a mutable Map view of this JsonObject. Changes to the Map are visible in this JsonObject and the other way around.

      The Map does not permit null keys or values. Unlike JsonObject's null handling, a NullPointerException is thrown when trying to add null. Use JsonNull for JSON null values.

      Returns:
      mutable Map view
      Since:
      2.10
    • equals

      public boolean equals(Object o)
      Returns whether the other object is equal to this. This method only considers the other object to be equal if it is an instance of JsonObject and has equal members, ignoring order.
      Overrides:
      equals in class Object
    • hashCode

      public int hashCode()
      Returns the hash code of this object. This method calculates the hash code based on the members of this object, ignoring order.
      Overrides:
      hashCode in class Object