Package org.json.simple
Class JsonArray
- All Implemented Interfaces:
Serializable
,Cloneable
,Iterable<Object>
,Collection<Object>
,List<Object>
,RandomAccess
,Jsonable
JsonArray is a common non-thread safe data format for a collection of data. The contents of a JsonArray are only
validated as JSON values on serialization. Meaning all values added to a JsonArray must be recognized by the Jsoner
for it to be a true 'JsonArray', so it is really a JsonableArrayList that will serialize to a JsonArray if all of
its contents are valid JSON.
- Since:
- 2.0.0
- See Also:
-
Field Summary
Fields inherited from class java.util.AbstractList
modCount
-
Constructor Summary
ConstructorDescriptionInstantiates an empty JsonArray.JsonArray
(Collection<?> collection) Instantiate a new JsonArray using ArrayList's constructor of the same type. -
Method Summary
Modifier and TypeMethodDescription<T> void
asCollection
(Collection<T> destination) A convenience method that assumes every element of the JsonArray is castable to T before adding it to a collection of Ts.getBigDecimal
(int index) A convenience method that assumes there is a BigDecimal, Number, or String at the given index.getBoolean
(int index) A convenience method that assumes there is a Boolean or String value at the given index.getByte
(int index) A convenience method that assumes there is a Number or String value at the given index.<T extends Collection<?>>
TgetCollection
(int index) A convenience method that assumes there is a Collection value at the given index.getDouble
(int index) A convenience method that assumes there is a Number or String value at the given index.<T extends Enum<T>>
TgetEnum
(int index) Deprecated.2.3.0 Jsoner deprecated automatically serializing enums as Strings.getFloat
(int index) A convenience method that assumes there is a Number or String value at the given index.getInteger
(int index) A convenience method that assumes there is a Number or String value at the given index.getLong
(int index) A convenience method that assumes there is a Number or String value at the given index.<T extends Map<?,
?>>
TgetMap
(int index) A convenience method that assumes there is a Map value at the given index.getShort
(int index) A convenience method that assumes there is a Number or String value at the given index.getString
(int index) A convenience method that assumes there is a Boolean, Number, or String value at the given index.toJson()
Serialize to a JSON formatted string.void
Serialize to a JSON formatted stream.Methods inherited from class java.util.ArrayList
add, add, addAll, addAll, clear, clone, contains, ensureCapacity, equals, forEach, get, hashCode, indexOf, isEmpty, iterator, lastIndexOf, listIterator, listIterator, remove, remove, removeAll, removeIf, removeRange, replaceAll, retainAll, set, size, sort, spliterator, subList, toArray, toArray, trimToSize
Methods inherited from class java.util.AbstractCollection
containsAll, toString
Methods inherited from class java.lang.Object
finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, stream, toArray
Methods inherited from interface java.util.List
containsAll
-
Constructor Details
-
JsonArray
public JsonArray()Instantiates an empty JsonArray. -
JsonArray
Instantiate a new JsonArray using ArrayList's constructor of the same type.- Parameters:
collection
- represents the elements to produce the JsonArray with.
-
-
Method Details
-
asCollection
A convenience method that assumes every element of the JsonArray is castable to T before adding it to a collection of Ts.- Type Parameters:
T
- represents the type that all of the elements of the JsonArray should be cast to and the type the collection will contain.- Parameters:
destination
- represents where all of the elements of the JsonArray are added to after being cast to the generic type provided.- Throws:
ClassCastException
- if the unchecked cast of an element to T fails.
-
getBigDecimal
A convenience method that assumes there is a BigDecimal, Number, or String at the given index. If a Number or String is there it is used to construct a new BigDecimal.- Parameters:
index
- representing where the value is expected to be at.- Returns:
- the value stored at the key or the default provided if the key doesn't exist.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return types.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.NumberFormatException
- if a String isn't a valid representation of a BigDecimal.- See Also:
-
getBoolean
A convenience method that assumes there is a Boolean or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a boolean.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.
-
getByte
A convenience method that assumes there is a Number or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a byte.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.NumberFormatException
- if a String isn't a valid representation of a BigDecimal or if the Number represents the double or float Infinity or NaN.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getCollection
A convenience method that assumes there is a Collection value at the given index.- Type Parameters:
T
- the kind of collection to expect at the index. Note unless manually added, collection values will be a JsonArray.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a Collection.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getDouble
A convenience method that assumes there is a Number or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a double.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.NumberFormatException
- if a String isn't a valid representation of a BigDecimal or if the Number represents the double or float Infinity or NaN.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getEnum
Deprecated.2.3.0 Jsoner deprecated automatically serializing enums as Strings.A convenience method that assumes there is a String value at the given index representing a fully qualified name in dot notation of an enum.- Type Parameters:
T
- the Enum type the value at the index is expected to belong to.- Parameters:
index
- representing where the value is expected to be at.- Returns:
- the enum based on the string found at the index, or null if the value at the index was null.
- Throws:
ClassNotFoundException
- if the element was a String but the declaring enum type couldn't be determined with it.ClassCastException
- if the element at the index was not a String or if the fully qualified enum name is of the wrong type.IllegalArgumentException
- if an enum type was dynamically determined but it doesn't define an enum with the dynamically determined name.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getFloat
A convenience method that assumes there is a Number or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a float.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.NumberFormatException
- if a String isn't a valid representation of a BigDecimal or if the Number represents the double or float Infinity or NaN.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getInteger
A convenience method that assumes there is a Number or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a int.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.NumberFormatException
- if a String isn't a valid representation of a BigDecimal or if the Number represents the double or float Infinity or NaN.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getLong
A convenience method that assumes there is a Number or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a long.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.NumberFormatException
- if a String isn't a valid representation of a BigDecimal or if the Number represents the double or float Infinity or NaN.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getMap
A convenience method that assumes there is a Map value at the given index.- Type Parameters:
T
- the kind of map to expect at the index. Note unless manually added, Map values will be a JsonObject.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a Map.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getShort
A convenience method that assumes there is a Number or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a short.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.NumberFormatException
- if a String isn't a valid representation of a BigDecimal or if the Number represents the double or float Infinity or NaN.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.- See Also:
-
getString
A convenience method that assumes there is a Boolean, Number, or String value at the given index.- Parameters:
index
- represents where the value is expected to be at.- Returns:
- the value at the index provided cast to a String.
- Throws:
ClassCastException
- if there was a value but didn't match the assumed return type.IndexOutOfBoundsException
- if the index is outside of the range of element indexes in the JsonArray.
-
toJson
Description copied from interface:Jsonable
Serialize to a JSON formatted string. -
toJson
Description copied from interface:Jsonable
Serialize to a JSON formatted stream.- Specified by:
toJson
in interfaceJsonable
- Parameters:
writable
- where the resulting JSON text should be sent.- Throws:
IOException
- when the writable encounters an I/O error.
-