public final class JSONArray extends JSONCollection implements Iterable<Object>
JSONObjects
, other JSONArrays
, Strings,
Booleans, Integers, Longs, Doubles, null
or JSONObject.NULL
.
Values may not be NaNs
, infinities
, or of any type not listed here.
JSONArray
has the same type coercion behavior and
optional/mandatory accessors as JSONObject
. See that class'
documentation for details.
Warning: this class represents null in two incompatible
ways: the standard Java null
reference, and the sentinel value JSONObject.NULL
. In particular, get
fails if the requested index
holds the null reference, but succeeds if it holds JSONObject.NULL
.
Instances of this class are not thread safe.Constructor and Description |
---|
JSONArray()
Creates a
JSONArray with no values. |
JSONArray(Object... values)
Creates a new
JSONArray with values from the given primitive array. |
JSONArray(String json)
Creates a new
JSONArray with values from the JSON string. |
Modifier and Type | Method and Description |
---|---|
boolean |
equals(Object o) |
static JSONArray |
from(Iterable<?> iterable)
Create a new array, and adds all values fro the iterable to the array (using
putAll(Iterable) . |
Object |
get(int index)
Returns the value at
index . |
boolean |
getBoolean(int index)
Returns the value at
index if it exists and is a boolean or can
be coerced to a boolean. |
double |
getDouble(int index)
Returns the value at
index if it exists and is a double or can
be coerced to a double. |
int |
getInt(int index)
Returns the value at
index if it exists and is an int or
can be coerced to an int. |
JSONArray |
getJSONArray(int index)
Returns the value at
index if it exists and is a JSONArray . |
JSONObject |
getJSONObject(int index)
Returns the value at
index if it exists and is a JSONObject . |
long |
getLong(int index)
Returns the value at
index if it exists and is a long or
can be coerced to a long. |
String |
getString(int index)
Returns the value at
index if it exists, coercing it if
necessary. |
int |
hashCode() |
boolean |
isNull(int index)
Returns true if this array has no value at
index , or if its value
is the null reference or JSONObject.NULL . |
Iterator<Object> |
iterator() |
int |
length() |
JSONArray |
put(int index,
Object value)
Sets the value at
index to value , null padding this array
to the required length if necessary. |
JSONArray |
put(Object value)
Appends
value to the end of this array. |
JSONArray |
putAll(Iterable<?> collection)
Puts all objects from the collection into this JSONArray, using
put(Object) . |
Object |
remove(int index)
Removes and returns the value at
index , or null if the array has no value
at index . |
List<Object> |
toList()
Returns an unmodifiable list of the contents of the array.
|
prettyPrint, print, print, toCompactString, toString, toString
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
forEach, spliterator
public JSONArray()
JSONArray
with no values.public JSONArray(String json)
JSONArray
with values from the JSON string.json
- a JSON-encoded string containing an array.RuntimeException
- if the parse fails or doesn't yield a JSONArray
.public JSONArray(Object... values)
JSONArray
with values from the given primitive array.values
- The values to use.RuntimeException
- if any of the values are non-finite double values (i.e. NaN or infinite)public static JSONArray from(Iterable<?> iterable)
putAll(Iterable)
.
This is implemented as a static method so as not to break the semantics of the existing JSONArray(Object...)
constructor.
Adding a constructor of type Iterable would change the meaning of new JSONArray(new JSONArray())
.iterable
- collection ot value to include, or nullpublic int length()
public JSONArray put(Object value)
value
to the end of this array.value
- a JSONObject
, JSONArray
, String, Boolean,
Integer, Long, Double, or JSONObject.NULL
}. May
not be NaNs
or infinities
. Unsupported values are not permitted and will cause the
array to be in an inconsistent state.public JSONArray put(int index, Object value)
index
to value
, null padding this array
to the required length if necessary. If a value already exists at index
, it will be replaced.index
- Where to put the value.value
- a JSONObject
, JSONArray
, String, Boolean,
Integer, Long, Double, JSONObject.NULL
, or null
. May
not be NaNs
or infinities
.RuntimeException
- If the value cannot be represented as a finite double value.public boolean isNull(int index)
index
, or if its value
is the null
reference or JSONObject.NULL
.index
- Which value to check.public Object get(int index)
index
.index
- Which value to get.RuntimeException
- if this array has no value at index
, or if
that value is the null
reference. This method returns
normally if the value is JSONObject#NULL
.public Object remove(int index)
index
, or null if the array has no value
at index
.index
- Which value to remove.public boolean getBoolean(int index)
index
if it exists and is a boolean or can
be coerced to a boolean.index
- Which value to get.RuntimeException
- if the value at index
doesn't exist or
cannot be coerced to a boolean.public double getDouble(int index)
index
if it exists and is a double or can
be coerced to a double.index
- Which value to get.RuntimeException
- if the value at index
doesn't exist or
cannot be coerced to a double.public int getInt(int index)
index
if it exists and is an int or
can be coerced to an int.index
- Which value to get.RuntimeException
- if the value at index
doesn't exist or
cannot be coerced to a int.public long getLong(int index)
index
if it exists and is a long or
can be coerced to a long.index
- Which value to get.RuntimeException
- if the value at index
doesn't exist or
cannot be coerced to a long.public String getString(int index)
index
if it exists, coercing it if
necessary.index
- Which value to get.RuntimeException
- if no such value exists.public JSONArray getJSONArray(int index)
index
if it exists and is a JSONArray
.index
- Which value to get.RuntimeException
- if the value doesn't exist or is not a JSONArray
.public JSONObject getJSONObject(int index)
index
if it exists and is a JSONObject
.index
- Which value to get.RuntimeException
- if the value doesn't exist or is not a JSONObject
.public JSONArray putAll(Iterable<?> collection)
put(Object)
.collection
- List, array, JSONArray, or other iterable object, or nullpublic List<Object> toList()
${project.version} - Copyright © 2003-2015 The Apache Software Foundation.