public class JSONArray extends java.lang.Object
get
and opt
methods for accessing the values by index, and put
methods for
adding or replacing values. The values can be any of these types:
Boolean
, JSONArray
, JSONObject
,
Number
, String
, or the
JSONObject.NULL object
.
The constructor can convert a JSON text into a Java object. The
toString
method converts to JSON text.
A get
method returns a value if one can be found, and throws an
exception if one cannot be found. An opt
method returns a
default value instead of throwing an exception, and so is useful for
obtaining optional values.
The generic get()
and opt()
methods return an
object which you can cast or query for type. There are also typed
get
and opt
methods that do type checking and type
coersion for you.
The texts produced by the toString
methods strictly conform to
JSON syntax rules. The constructors are more forgiving in the texts they will
accept:
,
(comma) may appear just
before the closing bracket.null
value will be inserted when there
is ,
(comma) elision.'
(single
quote).{ } [ ] / \ : , = ; #
and if they do not look like numbers
and if they are not the reserved words true
,
false
, or null
.;
(semicolon) as
well as by ,
(comma).0-
(octal) or
0x-
(hex) prefix.Constructor and Description |
---|
JSONArray()
Construct an empty JSONArray.
|
JSONArray(java.util.Collection<?> collection)
Construct a JSONArray from a Collection.
|
JSONArray(java.util.Collection<java.lang.Object> collection,
boolean includeSuperClass)
Construct a JSONArray from a collection of beans.
|
JSONArray(JSONTokener x)
Construct a JSONArray from a JSONTokener.
|
JSONArray(java.lang.Object array)
Construct a JSONArray from an array.
|
JSONArray(java.lang.Object array,
boolean includeSuperClass)
Construct a JSONArray from an array with a bean.
|
JSONArray(java.lang.String source)
Construct a JSONArray from a source JSON text.
|
Modifier and Type | Method and Description |
---|---|
boolean |
containsString(java.lang.String value)
Check if this array contains the given string value.
|
java.lang.Object |
get(int index)
Get the object value associated with an index.
|
boolean |
getBoolean(int index)
Get the boolean value associated with an index.
|
double |
getDouble(int index)
Get the double value associated with an index.
|
int |
getInt(int index)
Get the int value associated with an index.
|
JSONArray |
getJSONArray(int index)
Get the JSONArray associated with an index.
|
JSONObject |
getJSONObject(int index)
Get the JSONObject associated with an index.
|
long |
getLong(int index)
Get the long value associated with an index.
|
java.lang.String |
getString(int index)
Get the string associated with an index.
|
boolean |
isNull(int index)
Determine if the value is null.
|
java.lang.String |
join(java.lang.String separator)
Make a string from the contents of this JSONArray.
|
int |
length()
Get the number of elements in the JSONArray, included nulls.
|
java.lang.Object |
opt(int index)
Get the optional object value associated with an index.
|
boolean |
optBoolean(int index)
Get the optional boolean value associated with an index.
|
boolean |
optBoolean(int index,
boolean defaultValue)
Get the optional boolean value associated with an index.
|
double |
optDouble(int index)
Get the optional double value associated with an index.
|
double |
optDouble(int index,
double defaultValue)
Get the optional double value associated with an index.
|
int |
optInt(int index)
Get the optional int value associated with an index.
|
int |
optInt(int index,
int defaultValue)
Get the optional int value associated with an index.
|
JSONArray |
optJSONArray(int index)
Get the optional JSONArray associated with an index.
|
JSONObject |
optJSONObject(int index)
Get the optional JSONObject associated with an index.
|
long |
optLong(int index)
Get the optional long value associated with an index.
|
long |
optLong(int index,
long defaultValue)
Get the optional long value associated with an index.
|
java.lang.String |
optString(int index)
Get the optional string value associated with an index.
|
java.lang.String |
optString(int index,
java.lang.String defaultValue)
Get the optional string associated with an index.
|
JSONArray |
put(boolean value)
Append a boolean value.
|
JSONArray |
put(java.util.Collection<java.lang.Object> value)
Put a value in the JSONArray, where the value will be a
JSONArray which is produced from a Collection.
|
JSONArray |
put(double value)
Append a double value.
|
JSONArray |
put(int value)
Append an int value.
|
JSONArray |
put(int index,
boolean value)
Put or replace a boolean value in the JSONArray.
|
JSONArray |
put(int index,
java.util.Collection<java.lang.Object> value)
Put a value in the JSONArray, where the value will be a
JSONArray which is produced from a Collection.
|
JSONArray |
put(int index,
double value)
Put or replace a double value.
|
JSONArray |
put(int index,
int value)
Put or replace an int value.
|
JSONArray |
put(int index,
long value)
Put or replace a long value.
|
JSONArray |
put(int index,
java.util.Map<?,?> value)
Put a value in the JSONArray, where the value will be a
JSONObject which is produced from a Map.
|
JSONArray |
put(int index,
java.lang.Object value)
Put or replace an object value in the JSONArray.
|
JSONArray |
put(long value)
Append an long value.
|
JSONArray |
put(java.util.Map<?,?> value)
Put a value in the JSONArray, where the value will be a
JSONObject which is produced from a Map.
|
JSONArray |
put(java.lang.Object value)
Append an object value.
|
JSONObject |
toJSONObject(JSONArray names)
Produce a JSONObject by combining a JSONArray of names with the values
of this JSONArray.
|
java.lang.String |
toString()
Make a JSON text of this JSONArray.
|
java.lang.String |
toString(int indentFactor)
Make a pretty printed JSON text of this JSONArray.
|
java.io.Writer |
write(java.io.Writer writer)
Write the contents of the JSONArray as JSON text to a writer.
|
public JSONArray()
public JSONArray(java.util.Collection<?> collection)
collection
- a Collection.public JSONArray(java.util.Collection<java.lang.Object> collection, boolean includeSuperClass)
The collection should have Java Beans.
collection
- a collectionincludeSuperClass
- tell whether to include the super class propertiespublic JSONArray(JSONTokener x) throws JSONException
x
- a JSONTokenerJSONException
- if there is a syntax errorpublic JSONArray(java.lang.Object array) throws JSONException
array
- an arrayJSONException
- if not an arraypublic JSONArray(java.lang.Object array, boolean includeSuperClass) throws JSONException
The array should have Java Beans.
array
- an arrayincludeSuperClass
- tell whether to include the super class propertiesJSONException
- if not an arraypublic JSONArray(java.lang.String source) throws JSONException
source
- a string that begins with
[
(left bracket)
and ends with ]
(right bracket)JSONException
- if there is a syntax errorpublic boolean containsString(java.lang.String value)
value
- the value to checktrue
if found, false
if notpublic java.lang.Object get(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if there is no value for the indexpublic boolean getBoolean(int index) throws JSONException
The string values "true" and "false" are converted to boolean.
index
- the index must be between 0 and length() - 1JSONException
- if there is no value for the index or if the value is not convertable to booleanpublic double getDouble(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if the key is not found or if the value cannot be converted to a numberpublic int getInt(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if the key is not found or if the value cannot be converted to a numberpublic JSONArray getJSONArray(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if there is no value for the index or if the value is not a JSONArraypublic JSONObject getJSONObject(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if there is no value for the index or if the value is not a JSONObjectpublic long getLong(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if the key is not found or if the value cannot be converted to a numberpublic java.lang.String getString(int index) throws JSONException
index
- the index must be between 0 and length() - 1JSONException
- if there is no value for the indexpublic boolean isNull(int index)
index
- the index must be between 0 and length() - 1public java.lang.String join(java.lang.String separator) throws JSONException
The separator
string is inserted between each element.
Warning: This method assumes that the data structure is acyclical.
separator
- a string that will be inserted between the elementsJSONException
- if the array contains an invalid numberpublic int length()
public java.lang.Object opt(int index)
index
- the index must be between 0 and length() - 1public boolean optBoolean(int index)
It returns false if there is no value at that index, or if the value is not Boolean.TRUE or the String "true".
index
- the index must be between 0 and length() - 1public boolean optBoolean(int index, boolean defaultValue)
It returns the defaultValue if there is no value at that index or if it is not a Boolean or the String "true" or "false" (case insensitive).
index
- the index must be between 0 and length() - 1defaultValue
- a boolean defaultpublic double optDouble(int index)
NaN is returned if there is no value for the index, or if the value is not a number and cannot be converted to a number.
index
- the index must be between 0 and length() - 1public double optDouble(int index, double defaultValue)
The defaultValue is returned if there is no value for the index, or if the value is not a number and cannot be converted to a number.
index
- the index must be between 0 and length() - 1defaultValue
- the default valuepublic int optInt(int index)
Zero is returned if there is no value for the index, or if the value is not a number and cannot be converted to a number.
index
- the index must be between 0 and length() - 1public int optInt(int index, int defaultValue)
The defaultValue is returned if there is no value for the index, or if the value is not a number and cannot be converted to a number.
index
- the index must be between 0 and length() - 1defaultValue
- the default valuepublic JSONArray optJSONArray(int index)
index
- the index must be between 0 and length() - 1public JSONObject optJSONObject(int index)
Null is returned if the key is not found, or null if the index has no value, or if the value is not a JSONObject.
index
- the index must be between 0 and length() - 1public long optLong(int index)
Zero is returned if there is no value for the index, or if the value is not a number and cannot be converted to a number.
index
- the index must be between 0 and length() - 1public long optLong(int index, long defaultValue)
The defaultValue is returned if there is no value for the index, or if the value is not a number and cannot be converted to a number.
index
- the index must be between 0 and length() - 1defaultValue
- the default valuepublic java.lang.String optString(int index)
It returns an empty string if there is no value at that index. If the value is not a string and is not null, then it is coverted to a string.
index
- the index must be between 0 and length() - 1public java.lang.String optString(int index, java.lang.String defaultValue)
The defaultValue is returned if the key is not found.
index
- tThe index must be between 0 and length() - 1defaultValue
- the default valuepublic JSONArray put(boolean value)
value
- a boolean valuepublic JSONArray put(java.util.Collection<java.lang.Object> value)
value
- a Collection valuepublic JSONArray put(double value) throws JSONException
value
- a double valueJSONException
- if the value is not finitepublic JSONArray put(int value)
value
- an int valuepublic JSONArray put(int index, boolean value) throws JSONException
index
- the indexvalue
- a boolean valueJSONException
- if the index is negativepublic JSONArray put(int index, java.util.Collection<java.lang.Object> value) throws JSONException
index
- the index must be between 0 and length() - 1value
- a Collection valueJSONException
- if the index is negative or if the value is
not finitepublic JSONArray put(int index, double value) throws JSONException
index
- the indexvalue
- a double valueJSONException
- if the index is negative or if the value is
not finitepublic JSONArray put(int index, int value) throws JSONException
index
- the indexvalue
- an int valueJSONException
- if the index is negativepublic JSONArray put(int index, long value) throws JSONException
index
- the indexvalue
- a long valueJSONException
- if the index is negativepublic JSONArray put(int index, java.util.Map<?,?> value) throws JSONException
index
- the index must be between 0 and length() - 1value
- the Map valueJSONException
- if the index is negative or if the the value is
an invalid numberpublic JSONArray put(int index, java.lang.Object value) throws JSONException
index
- the indexvalue
- the value to put into the array. The value should be a
Boolean, Double, Integer, JSONArray, JSONObject, Long, or String, or the
JSONObject.NULL objectJSONException
- if the index is negative or if the the value is
an invalid numberpublic JSONArray put(long value)
value
- a long valuepublic JSONArray put(java.util.Map<?,?> value)
value
- a Map valuepublic JSONArray put(java.lang.Object value)
value
- an object value. The value should be a
Boolean, Double, Integer, JSONArray, JSONObject, Long, or String, or the
JSONObject.NULL objectpublic JSONObject toJSONObject(JSONArray names) throws JSONException
names
- a JSONArray containing a list of key strings. These will be
paired with the valuesJSONException
- if any of the names are nullpublic java.lang.String toString()
For compactness, no unnecessary whitespace is added. If it is not possible to produce a syntactically correct JSON text then null will be returned instead. This could occur if the array contains an invalid number.
Warning: This method assumes that the data structure is acyclical.
toString
in class java.lang.Object
public java.lang.String toString(int indentFactor) throws JSONException
Warning: This method assumes that the data structure is acyclical.
indentFactor
- the number of spaces to add to each level of
indentation[
(left bracket) and ending
with ]
(right bracket)JSONException
- if something goes wrongpublic java.io.Writer write(java.io.Writer writer) throws JSONException
For compactness, no whitespace is added.
Warning: This method assumes that the data structure is acyclical.
writer
- the writer to write the contents toJSONException
- if something goes wrong