public class JSONArray extends 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. Although this class is nonfinal, it was not designed for inheritance and should not be subclassed. In particular, self-use by overridable methods is not specified. See Effective Java Item 17, "Design and Document or inheritance or else prohibit it" for further information.
Constructor and Description |
---|
JSONArray()
Creates a
JSONArray with no values. |
JSONArray(Collection copyFrom)
Creates a new
JSONArray by copying all values from the given
collection. |
JSONArray(JSONTokener readFrom)
Creates a new
JSONArray with values from the next array in the
tokener. |
JSONArray(Object array)
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) |
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 . |
String |
join(String separator)
Returns a new string by alternating this array's values with
separator . |
int |
length()
Returns the number of values in this array.
|
Object |
opt(int index)
Returns the value at
index , or null if the array has no value
at index . |
boolean |
optBoolean(int index)
Returns the value at
index if it exists and is a boolean or can
be coerced to a boolean. |
boolean |
optBoolean(int index,
boolean fallback)
Returns the value at
index if it exists and is a boolean or can
be coerced to a boolean. |
double |
optDouble(int index)
Returns the value at
index if it exists and is a double or can
be coerced to a double. |
double |
optDouble(int index,
double fallback)
Returns the value at
index if it exists and is a double or can
be coerced to a double. |
int |
optInt(int index)
Returns the value at
index if it exists and is an int or
can be coerced to an int. |
int |
optInt(int index,
int fallback)
Returns the value at
index if it exists and is an int or
can be coerced to an int. |
JSONArray |
optJSONArray(int index)
Returns the value at
index if it exists and is a JSONArray . |
JSONObject |
optJSONObject(int index)
Returns the value at
index if it exists and is a JSONObject . |
long |
optLong(int index)
Returns the value at
index if it exists and is a long or
can be coerced to a long. |
long |
optLong(int index,
long fallback)
Returns the value at
index if it exists and is a long or
can be coerced to a long. |
String |
optString(int index)
Returns the value at
index if it exists, coercing it if
necessary. |
String |
optString(int index,
String fallback)
Returns the value at
index if it exists, coercing it if
necessary. |
JSONArray |
put(boolean value)
Appends
value to the end of this array. |
JSONArray |
put(double value)
Appends
value to the end of this array. |
JSONArray |
put(int value)
Appends
value to the end of this array. |
JSONArray |
put(int index,
boolean value)
Sets the value at
index to value , null padding this array
to the required length if necessary. |
JSONArray |
put(int index,
double value)
Sets the value at
index to value , null padding this array
to the required length if necessary. |
JSONArray |
put(int index,
int value)
Sets the value at
index to value , null padding this array
to the required length if necessary. |
JSONArray |
put(int index,
long value)
Sets the value at
index to value , null padding this array
to the required length if necessary. |
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(long value)
Appends
value to the end of this array. |
JSONArray |
put(Object value)
Appends
value to the end of this array. |
Object |
remove(int index)
Removes and returns the value at
index , or null if the array has no value
at index . |
JSONObject |
toJSONObject(JSONArray names)
Returns a new object whose values are the values in this array, and whose
names are the values in
names . |
String |
toString()
Encodes this array as a compact JSON string, such as:
|
String |
toString(int indentSpaces)
Encodes this array as a human readable JSON string for debugging, such
as:
|
public JSONArray()
JSONArray
with no values.public JSONArray(Collection copyFrom)
JSONArray
by copying all values from the given
collection.copyFrom
- a collection whose values are of supported types.
Unsupported values are not permitted and will yield an array in an
inconsistent state.public JSONArray(JSONTokener readFrom) throws JSONException
JSONArray
with values from the next array in the
tokener.readFrom
- a tokener whose nextValue() method will yield a
JSONArray
.JSONException
- if the parse fails or doesn't yield a
JSONArray
.public JSONArray(String json) throws JSONException
JSONArray
with values from the JSON string.json
- a JSON-encoded string containing an array.JSONException
- if the parse fails or doesn't yield a JSONArray
.public JSONArray(Object array) throws JSONException
JSONArray
with values from the given primitive array.JSONException
public int length()
public JSONArray put(boolean value)
value
to the end of this array.public JSONArray put(double value) throws JSONException
value
to the end of this array.value
- a finite value. May not be NaNs
or
infinities
.JSONException
public JSONArray put(int value)
value
to the end of this array.public JSONArray put(long value)
value
to the end of this array.public JSONArray put(Object value)
value
to the end of this array.value
- a JSONObject
, JSONArray
, String, Boolean,
Integer, Long, Double, JSONObject.NULL
, or 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, boolean value) throws JSONException
index
to value
, null padding this array
to the required length if necessary. If a value already exists at index
, it will be replaced.JSONException
public JSONArray put(int index, double value) throws JSONException
index
to value
, null padding this array
to the required length if necessary. If a value already exists at index
, it will be replaced.value
- a finite value. May not be NaNs
or
infinities
.JSONException
public JSONArray put(int index, int value) throws JSONException
index
to value
, null padding this array
to the required length if necessary. If a value already exists at index
, it will be replaced.JSONException
public JSONArray put(int index, long value) throws JSONException
index
to value
, null padding this array
to the required length if necessary. If a value already exists at index
, it will be replaced.JSONException
public JSONArray put(int index, Object value) throws JSONException
index
to value
, null padding this array
to the required length if necessary. If a value already exists at index
, it will be replaced.value
- a JSONObject
, JSONArray
, String, Boolean,
Integer, Long, Double, JSONObject.NULL
, or null
. May
not be NaNs
or infinities
.JSONException
public boolean isNull(int index)
index
, or if its value
is the null
reference or JSONObject.NULL
.public Object get(int index) throws JSONException
index
.JSONException
- 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 opt(int index)
index
, or null if the array has no value
at index
.public Object remove(int index)
index
, or null if the array has no value
at index
.public boolean getBoolean(int index) throws JSONException
index
if it exists and is a boolean or can
be coerced to a boolean.JSONException
- if the value at index
doesn't exist or
cannot be coerced to a boolean.public boolean optBoolean(int index)
index
if it exists and is a boolean or can
be coerced to a boolean. Returns false otherwise.public boolean optBoolean(int index, boolean fallback)
index
if it exists and is a boolean or can
be coerced to a boolean. Returns fallback
otherwise.public double getDouble(int index) throws JSONException
index
if it exists and is a double or can
be coerced to a double.JSONException
- if the value at index
doesn't exist or
cannot be coerced to a double.public double optDouble(int index)
index
if it exists and is a double or can
be coerced to a double. Returns NaN
otherwise.public double optDouble(int index, double fallback)
index
if it exists and is a double or can
be coerced to a double. Returns fallback
otherwise.public int getInt(int index) throws JSONException
index
if it exists and is an int or
can be coerced to an int.JSONException
- if the value at index
doesn't exist or
cannot be coerced to a int.public int optInt(int index)
index
if it exists and is an int or
can be coerced to an int. Returns 0 otherwise.public int optInt(int index, int fallback)
index
if it exists and is an int or
can be coerced to an int. Returns fallback
otherwise.public long getLong(int index) throws JSONException
index
if it exists and is a long or
can be coerced to a long.JSONException
- if the value at index
doesn't exist or
cannot be coerced to a long.public long optLong(int index)
index
if it exists and is a long or
can be coerced to a long. Returns 0 otherwise.public long optLong(int index, long fallback)
index
if it exists and is a long or
can be coerced to a long. Returns fallback
otherwise.public String getString(int index) throws JSONException
index
if it exists, coercing it if
necessary.JSONException
- if no such value exists.public String optString(int index)
index
if it exists, coercing it if
necessary. Returns the empty string if no such value exists.public String optString(int index, String fallback)
index
if it exists, coercing it if
necessary. Returns fallback
if no such value exists.public JSONArray getJSONArray(int index) throws JSONException
index
if it exists and is a JSONArray
.JSONException
- if the value doesn't exist or is not a JSONArray
.public JSONArray optJSONArray(int index)
index
if it exists and is a JSONArray
. Returns null otherwise.public JSONObject getJSONObject(int index) throws JSONException
index
if it exists and is a JSONObject
.JSONException
- if the value doesn't exist or is not a JSONObject
.public JSONObject optJSONObject(int index)
index
if it exists and is a JSONObject
. Returns null otherwise.public JSONObject toJSONObject(JSONArray names) throws JSONException
names
. Names and values are paired up by
index from 0 through to the shorter array's length. Names that are not
strings will be coerced to strings. This method returns null if either
array is empty.JSONException
public String join(String separator) throws JSONException
separator
. This array's string values are quoted and have their special
characters escaped. For example, the array containing the strings '12"
pizza', 'taco' and 'soda' joined on '+' returns this:
"12\" pizza"+"taco"+"soda"
JSONException
public String toString()
[94043,90210]
public String toString(int indentSpaces) throws JSONException
[ 94043, 90210 ]
indentSpaces
- the number of spaces to indent for each level of
nesting.JSONException