- 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 ofJsonElement. 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 supportnullvalues. Ifnullis provided as value argument to any of the methods, it is converted to aJsonNull.JsonObjectdoes not implement theMapinterface, but aMapview of it can be obtained withasMap().See the
JsonElementdocumentation for details on how to convertJsonObjectand generally anyJsonElementfrom and to JSON.- Author:
- Inderjeet Singh, Joel Leitch
-
-
Constructor Summary
Constructors Constructor Description JsonObject()Creates an empty JsonObject.
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidadd(String property, JsonElement value)Adds a member, which is a name-value pair, to self.voidaddProperty(String property, Boolean value)Convenience method to add a boolean member.voidaddProperty(String property, Character value)Convenience method to add a char member.voidaddProperty(String property, Number value)Convenience method to add a number member.voidaddProperty(String property, String value)Convenience method to add a string member.Map<String,JsonElement>asMap()Returns a mutableMapview of thisJsonObject.JsonObjectdeepCopy()Creates a deep copy of this element and all its children.Set<Map.Entry<String,JsonElement>>entrySet()Returns a set of members of this object.booleanequals(Object o)Returns whether the other object is equal to this.JsonElementget(String memberName)Returns the member with the specified name.JsonArraygetAsJsonArray(String memberName)Convenience method to get the specified member as aJsonArray.JsonObjectgetAsJsonObject(String memberName)Convenience method to get the specified member as aJsonObject.JsonPrimitivegetAsJsonPrimitive(String memberName)Convenience method to get the specified member as aJsonPrimitive.booleanhas(String memberName)Convenience method to check if a member with the specified name is present in this object.inthashCode()Returns the hash code of this object.booleanisEmpty()Returns true if the number of key/value pairs in the object is zero.Set<String>keySet()Returns a set of members key values.JsonElementremove(String property)Removes thepropertyfrom this object.intsize()Returns the number of key/value pairs in the object.-
Methods inherited from class com.google.gson.JsonElement
getAsBigDecimal, getAsBigInteger, getAsBoolean, getAsByte, getAsCharacter, getAsDouble, getAsFloat, getAsInt, getAsJsonArray, getAsJsonNull, getAsJsonObject, getAsJsonPrimitive, getAsLong, getAsNumber, getAsShort, getAsString, isJsonArray, isJsonNull, isJsonObject, isJsonPrimitive, toString
-
-
-
-
Method Detail
-
deepCopy
public JsonObject deepCopy()
Creates a deep copy of this element and all its children.- Specified by:
deepCopyin classJsonElement- 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 arbitraryJsonElement, 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
@CanIgnoreReturnValue public JsonElement remove(String property)
Removes thepropertyfrom this object.- Parameters:
property- name of the member that should be removed.- Returns:
- the
JsonElementobject that is being removed, ornullif 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 aJsonPrimitiveof 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 aJsonPrimitiveof 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 aJsonPrimitiveof 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 aJsonPrimitiveof 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
-
isEmpty
public boolean isEmpty()
Returns true if the number of key/value pairs in the object is zero.- Returns:
- true if the number of key/value pairs in the object is zero.
- Since:
- 2.10.1
-
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
nullif no such member exists.
-
getAsJsonPrimitive
public JsonPrimitive getAsJsonPrimitive(String memberName)
Convenience method to get the specified member as aJsonPrimitive.- Parameters:
memberName- name of the member being requested.- Returns:
- the
JsonPrimitivecorresponding to the specified member, ornullif no member with this name exists. - Throws:
ClassCastException- if the member is not of typeJsonPrimitive.
-
getAsJsonArray
public JsonArray getAsJsonArray(String memberName)
Convenience method to get the specified member as aJsonArray.- Parameters:
memberName- name of the member being requested.- Returns:
- the
JsonArraycorresponding to the specified member, ornullif no member with this name exists. - Throws:
ClassCastException- if the member is not of typeJsonArray.
-
getAsJsonObject
public JsonObject getAsJsonObject(String memberName)
Convenience method to get the specified member as aJsonObject.- Parameters:
memberName- name of the member being requested.- Returns:
- the
JsonObjectcorresponding to the specified member, ornullif no member with this name exists. - Throws:
ClassCastException- if the member is not of typeJsonObject.
-
asMap
public Map<String,JsonElement> asMap()
Returns a mutableMapview of thisJsonObject. Changes to theMapare visible in thisJsonObjectand the other way around.The
Mapdoes not permitnullkeys or values. UnlikeJsonObject'snullhandling, aNullPointerExceptionis thrown when trying to addnull. UseJsonNullfor JSON null values.- Returns:
- mutable
Mapview - 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 ofJsonObjectand has equal members, ignoring order.
-
-