java.lang.Object
com.google.gson.JsonElement
com.google.gson.JsonArray
- All Implemented Interfaces:
Iterable<JsonElement>
A class representing an array type in JSON. An array is a list of
JsonElement
s each of
which can be of a different type. This is an ordered list, meaning that the order in which
elements are added is preserved. This class does not support null
values. If null
is provided as element argument to any of the methods, it is converted to a JsonNull
.
JsonArray
only implements the Iterable
interface but not the List
interface. A List
view of it can be obtained with asList()
.
- Author:
- Inderjeet Singh, Joel Leitch
-
Constructor Summary
-
Method Summary
Modifier and TypeMethodDescriptionvoid
add
(JsonElement element) Adds the specified element to self.void
Adds the specified boolean to self.void
Adds the specified character to self.void
Adds the specified number to self.void
Adds the specified string to self.void
Adds all the elements of the specified array to self.asList()
Returns a mutableList
view of thisJsonArray
.boolean
contains
(JsonElement element) Returns true if this array contains the specified element.deepCopy()
Creates a deep copy of this element and all its children.boolean
Returns whether the other object is equal to this.get
(int i) Returns the i-th element of the array.Convenience method to get this array as aBigDecimal
if it contains a single element.Convenience method to get this array as aBigInteger
if it contains a single element.boolean
Convenience method to get this array as a boolean if it contains a single element.byte
Convenience method to get this array as a primitive byte if it contains a single element.char
Deprecated.This method is misleading, as it does not get this element as a char but rather as a string's first character.double
Convenience method to get this array as a double if it contains a single element.float
Convenience method to get this array as a float if it contains a single element.int
getAsInt()
Convenience method to get this array as an integer if it contains a single element.long
Convenience method to get this array as a long if it contains a single element.Convenience method to get this array as aNumber
if it contains a single element.short
Convenience method to get this array as a primitive short if it contains a single element.Convenience method to get this array as aString
if it contains a single element.int
hashCode()
Returns the hash code of this array.boolean
isEmpty()
Returns true if the array is empty.iterator()
Returns an iterator to navigate the elements of the array.remove
(int index) Removes the element at the specified position in this array.boolean
remove
(JsonElement element) Removes the first occurrence of the specified element from this array, if it is present.set
(int index, JsonElement element) Replaces the element at the specified position in this array with the specified element.int
size()
Returns the number of elements in the array.Methods inherited from class com.google.gson.JsonElement
getAsJsonArray, getAsJsonNull, getAsJsonObject, getAsJsonPrimitive, isJsonArray, isJsonNull, isJsonObject, isJsonPrimitive, toString
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.lang.Iterable
forEach, spliterator
-
Constructor Details
-
JsonArray
public JsonArray()Creates an empty JsonArray. -
JsonArray
public JsonArray(int capacity) Creates an empty JsonArray with the desired initial capacity.- Parameters:
capacity
- initial capacity.- Throws:
IllegalArgumentException
- if thecapacity
is negative- Since:
- 2.8.1
-
-
Method Details
-
deepCopy
Creates a deep copy of this element and all its children.- Specified by:
deepCopy
in classJsonElement
- Since:
- 2.8.2
-
add
Adds the specified boolean to self.- Parameters:
bool
- the boolean that needs to be added to the array.- Since:
- 2.4
-
add
Adds the specified character to self.- Parameters:
character
- the character that needs to be added to the array.- Since:
- 2.4
-
add
Adds the specified number to self.- Parameters:
number
- the number that needs to be added to the array.- Since:
- 2.4
-
add
Adds the specified string to self.- Parameters:
string
- the string that needs to be added to the array.- Since:
- 2.4
-
add
Adds the specified element to self.- Parameters:
element
- the element that needs to be added to the array.
-
addAll
Adds all the elements of the specified array to self.- Parameters:
array
- the array whose elements need to be added to the array.
-
set
Replaces the element at the specified position in this array with the specified element.- Parameters:
index
- index of the element to replaceelement
- element to be stored at the specified position- Returns:
- the element previously at the specified position
- Throws:
IndexOutOfBoundsException
- if the specified index is outside the array bounds
-
remove
Removes the first occurrence of the specified element from this array, if it is present. If the array does not contain the element, it is unchanged.- Parameters:
element
- element to be removed from this array, if present- Returns:
- true if this array contained the specified element, false otherwise
- Since:
- 2.3
-
remove
Removes the element at the specified position in this array. Shifts any subsequent elements to the left (subtracts one from their indices). Returns the element that was removed from the array.- Parameters:
index
- index the index of the element to be removed- Returns:
- the element previously at the specified position
- Throws:
IndexOutOfBoundsException
- if the specified index is outside the array bounds- Since:
- 2.3
-
contains
Returns true if this array contains the specified element.- Parameters:
element
- whose presence in this array is to be tested- Returns:
- true if this array contains the specified element.
- Since:
- 2.3
-
size
public int size()Returns the number of elements in the array.- Returns:
- the number of elements in the array.
-
isEmpty
public boolean isEmpty()Returns true if the array is empty.- Returns:
- true if the array is empty.
- Since:
- 2.8.7
-
iterator
Returns an iterator to navigate the elements of the array. Since the array is an ordered list, the iterator navigates the elements in the order they were inserted.- Specified by:
iterator
in interfaceIterable<JsonElement>
- Returns:
- an iterator to navigate the elements of the array.
-
get
Returns the i-th element of the array.- Parameters:
i
- the index of the element that is being sought.- Returns:
- the element present at the i-th index.
- Throws:
IndexOutOfBoundsException
- if i is negative or greater than or equal to thesize()
of the array.
-
getAsNumber
Convenience method to get this array as aNumber
if it contains a single element. This method callsJsonElement.getAsNumber()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsNumber
in classJsonElement
- Returns:
- this element as a number if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsString
Convenience method to get this array as aString
if it contains a single element. This method callsJsonElement.getAsString()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsString
in classJsonElement
- Returns:
- this element as a String if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsDouble
public double getAsDouble()Convenience method to get this array as a double if it contains a single element. This method callsJsonElement.getAsDouble()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsDouble
in classJsonElement
- Returns:
- this element as a double if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsBigDecimal
Convenience method to get this array as aBigDecimal
if it contains a single element. This method callsJsonElement.getAsBigDecimal()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsBigDecimal
in classJsonElement
- Returns:
- this element as a
BigDecimal
if it is single element array. - Throws:
IllegalStateException
- if the array is empty or has more than one element.- Since:
- 1.2
-
getAsBigInteger
Convenience method to get this array as aBigInteger
if it contains a single element. This method callsJsonElement.getAsBigInteger()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsBigInteger
in classJsonElement
- Returns:
- this element as a
BigInteger
if it is single element array. - Throws:
IllegalStateException
- if the array is empty or has more than one element.- Since:
- 1.2
-
getAsFloat
public float getAsFloat()Convenience method to get this array as a float if it contains a single element. This method callsJsonElement.getAsFloat()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsFloat
in classJsonElement
- Returns:
- this element as a float if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsLong
public long getAsLong()Convenience method to get this array as a long if it contains a single element. This method callsJsonElement.getAsLong()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsLong
in classJsonElement
- Returns:
- this element as a long if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsInt
public int getAsInt()Convenience method to get this array as an integer if it contains a single element. This method callsJsonElement.getAsInt()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsInt
in classJsonElement
- Returns:
- this element as an integer if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsByte
public byte getAsByte()Convenience method to get this array as a primitive byte if it contains a single element. This method callsJsonElement.getAsByte()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsByte
in classJsonElement
- Returns:
- this element as a primitive byte if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsCharacter
Deprecated.This method is misleading, as it does not get this element as a char but rather as a string's first character.Convenience method to get this array as a character if it contains a single element. This method callsJsonElement.getAsCharacter()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsCharacter
in classJsonElement
- Returns:
- this element as a primitive short if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsShort
public short getAsShort()Convenience method to get this array as a primitive short if it contains a single element. This method callsJsonElement.getAsShort()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsShort
in classJsonElement
- Returns:
- this element as a primitive short if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
getAsBoolean
public boolean getAsBoolean()Convenience method to get this array as a boolean if it contains a single element. This method callsJsonElement.getAsBoolean()
on the element, therefore any of the exceptions declared by that method can occur.- Overrides:
getAsBoolean
in classJsonElement
- Returns:
- this element as a boolean if it is single element array.
- Throws:
IllegalStateException
- if the array is empty or has more than one element.
-
asList
Returns a mutableList
view of thisJsonArray
. Changes to theList
are visible in thisJsonArray
and the other way around.The
List
does not permitnull
elements. UnlikeJsonArray
'snull
handling, aNullPointerException
is thrown when trying to addnull
. UseJsonNull
for JSON null values.- Returns:
- mutable
List
view - Since:
- 2.10
-
equals
Returns whether the other object is equal to this. This method only considers the other object to be equal if it is an instance ofJsonArray
and has equal elements in the same order. -
hashCode
public int hashCode()Returns the hash code of this array. This method calculates the hash code based on the elements of this array.
-