Class JSONArray
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:
- An extra
,
(comma) may appear just before the closing bracket. - The
null
value will be inserted when there is,
(comma) elision. - Strings may be quoted with
'
(single quote). - Strings do not need to be quoted at all if they do not begin with a quote
or single quote, and if they do not contain leading or trailing spaces,
and if they do not contain any of these characters:
{ } [ ] / \ : , = ; #
and if they do not look like numbers and if they are not the reserved wordstrue
,false
, ornull
. - Values can be separated by
;
(semicolon) as well as by,
(comma). - Numbers may have the
0-
(octal) or0x-
(hex) prefix. - Comments written in the slashshlash, slashstar, and hash conventions will be ignored.
-
Constructor Summary
ConstructorDescriptionConstruct an empty JSONArray.Construct a JSONArray from an array.Construct a JSONArray from an array with a bean.Construct a JSONArray from a source JSON text.JSONArray
(Collection<?> collection) Construct a JSONArray from a Collection.JSONArray
(Collection<Object> collection, boolean includeSuperClass) Construct a JSONArray from a collection of beans.Construct a JSONArray from a JSONTokener. -
Method Summary
Modifier and TypeMethodDescriptionvoid
Appends values from another JSON array.boolean
containsString
(String value) Check if this array contains the given string value.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.getJSONArray
(int index) Get the JSONArray associated with an index.getJSONObject
(int index) Get the JSONObject associated with an index.long
getLong
(int index) Get the long value associated with an index.getString
(int index) Get the string associated with an index.boolean
isNull
(int index) Determine if the value is null.Make a string from the contents of this JSONArray.int
length()
Get the number of elements in the JSONArray, included nulls.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.optJSONArray
(int index) Get the optional JSONArray associated with an index.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.optString
(int index) Get the optional string value associated with an index.Get the optional string associated with an index.put
(boolean value) Append a boolean value.put
(double value) Append a double value.put
(int value) Append an int value.put
(int index, boolean value) Put or replace a boolean value in the JSONArray.put
(int index, double value) Put or replace a double value.put
(int index, int value) Put or replace an int value.put
(int index, long value) Put or replace a long value.Put or replace an object value in the JSONArray.put
(int index, Collection<Object> value) Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.put
(long value) Append an long value.Append an object value.put
(Collection<Object> value) Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.toJSONObject
(JSONArray names) Produce a JSONObject by combining a JSONArray of names with the values of this JSONArray.toString()
Make a JSON text of this JSONArray.toString
(int indentFactor) Make a pretty printed JSON text of this JSONArray.Write the contents of the JSONArray as JSON text to a writer.
-
Constructor Details
-
JSONArray
public JSONArray()Construct an empty JSONArray. -
JSONArray
Construct a JSONArray from a Collection.- Parameters:
collection
- a Collection.
-
JSONArray
Construct a JSONArray from a collection of beans.The collection should have Java Beans.
- Parameters:
collection
- a collectionincludeSuperClass
- tell whether to include the super class properties
-
JSONArray
Construct a JSONArray from a JSONTokener.- Parameters:
x
- a JSONTokener- Throws:
JSONException
- if there is a syntax error
-
JSONArray
Construct a JSONArray from an array.- Parameters:
array
- an array- Throws:
JSONException
- if not an array
-
JSONArray
Construct a JSONArray from an array with a bean.The array should have Java Beans.
- Parameters:
array
- an arrayincludeSuperClass
- tell whether to include the super class properties- Throws:
JSONException
- if not an array
-
JSONArray
Construct a JSONArray from a source JSON text.- Parameters:
source
- a string that begins with[
(left bracket) and ends with]
(right bracket)- Throws:
JSONException
- if there is a syntax error
-
-
Method Details
-
append
Appends values from another JSON array.- Parameters:
array
- the array whose values should be appended
-
containsString
Check if this array contains the given string value.- Parameters:
value
- the value to check- Returns:
true
if found,false
if not
-
get
Get the object value associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- an object value
- Throws:
JSONException
- if there is no value for the index
-
getBoolean
Get the boolean value associated with an index.The string values "true" and "false" are converted to boolean.
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the truth
- Throws:
JSONException
- if there is no value for the index or if the value is not convertable to boolean
-
getDouble
Get the double value associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the value
- Throws:
JSONException
- if the key is not found or if the value cannot be converted to a number
-
getInt
Get the int value associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the value
- Throws:
JSONException
- if the key is not found or if the value cannot be converted to a number
-
getJSONArray
Get the JSONArray associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- a JSONArray value
- Throws:
JSONException
- if there is no value for the index or if the value is not a JSONArray
-
getJSONObject
Get the JSONObject associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- a JSONObject value
- Throws:
JSONException
- if there is no value for the index or if the value is not a JSONObject
-
getLong
Get the long value associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the value
- Throws:
JSONException
- if the key is not found or if the value cannot be converted to a number
-
getString
Get the string associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- a string value
- Throws:
JSONException
- if there is no value for the index
-
isNull
Determine if the value is null.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- true if the value at the index is null, or if there is no value
-
join
Make a string from the contents of this JSONArray.The
separator
string is inserted between each element.Warning: This method assumes that the data structure is acyclical.
- Parameters:
separator
- a string that will be inserted between the elements- Returns:
- a string
- Throws:
JSONException
- if the array contains an invalid number
-
length
Get the number of elements in the JSONArray, included nulls.- Returns:
- the length (or size)
-
opt
Get the optional object value associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- an object value, or null if there is no object at that index
-
optBoolean
Get the optional boolean value associated with an index.It returns false if there is no value at that index, or if the value is not Boolean.TRUE or the String "true".
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the truth
-
optBoolean
Get the optional boolean value associated with an index.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).
- Parameters:
index
- the index must be between 0 and length() - 1defaultValue
- a boolean default- Returns:
- the truth
-
optDouble
Get the optional double value associated with an 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.
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the value
-
optDouble
Get the optional double value associated with an index.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.
- Parameters:
index
- the index must be between 0 and length() - 1defaultValue
- the default value- Returns:
- the value
-
optInt
Get the optional int value associated with an 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.
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the value
-
optInt
Get the optional int value associated with an index.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.
- Parameters:
index
- the index must be between 0 and length() - 1defaultValue
- the default value- Returns:
- the value
-
optJSONArray
Get the optional JSONArray associated with an index.- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- aA JSONArray value, or null if the index has no value, or if the value is not a JSONArray
-
optJSONObject
Get the optional JSONObject associated with an 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.
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- a JSONObject value
-
optLong
Get the optional long value associated with an 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.
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- the value
-
optLong
Get the optional long value associated with an index.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.
- Parameters:
index
- the index must be between 0 and length() - 1defaultValue
- the default value- Returns:
- the value
-
optString
Get the optional string value associated with an 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.
- Parameters:
index
- the index must be between 0 and length() - 1- Returns:
- a String value
-
optString
Get the optional string associated with an index.The defaultValue is returned if the key is not found.
- Parameters:
index
- tThe index must be between 0 and length() - 1defaultValue
- the default value- Returns:
- a String value
-
put
Append a boolean value. This increases the array's length by one.- Parameters:
value
- a boolean value- Returns:
- this
-
put
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.- Parameters:
value
- a Collection value- Returns:
- this
-
put
Append a double value. This increases the array's length by one.- Parameters:
value
- a double value- Returns:
- this
- Throws:
JSONException
- if the value is not finite
-
put
Append an int value. This increases the array's length by one.- Parameters:
value
- an int value- Returns:
- this
-
put
Put or replace a boolean value in the JSONArray. If the index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out.- Parameters:
index
- the indexvalue
- a boolean value- Returns:
- this
- Throws:
JSONException
- if the index is negative
-
put
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.- Parameters:
index
- the index must be between 0 and length() - 1value
- a Collection value- Returns:
- this
- Throws:
JSONException
- if the index is negative or if the value is not finite
-
put
Put or replace a double value. If the index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out.- Parameters:
index
- the indexvalue
- a double value- Returns:
- this
- Throws:
JSONException
- if the index is negative or if the value is not finite
-
put
Put or replace an int value. If the index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out.- Parameters:
index
- the indexvalue
- an int value- Returns:
- this
- Throws:
JSONException
- if the index is negative
-
put
Put or replace a long value. If the index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out.- Parameters:
index
- the indexvalue
- a long value- Returns:
- this
- Throws:
JSONException
- if the index is negative
-
put
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.- Parameters:
index
- the index must be between 0 and length() - 1value
- the Map value- Returns:
- this
- Throws:
JSONException
- if the index is negative or if the the value is an invalid number
-
put
Put or replace an object value in the JSONArray. If the index is greater than the length of the JSONArray, then null elements will be added as necessary to pad it out.- Parameters:
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 object- Returns:
- this
- Throws:
JSONException
- if the index is negative or if the the value is an invalid number
-
put
Append an long value. This increases the array's length by one.- Parameters:
value
- a long value- Returns:
- this
-
put
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.- Parameters:
value
- a Map value- Returns:
- this
-
put
Append an object value. This increases the array's length by one.- Parameters:
value
- an object value. The value should be a Boolean, Double, Integer, JSONArray, JSONObject, Long, or String, or the JSONObject.NULL object- Returns:
- this
-
toJSONObject
Produce a JSONObject by combining a JSONArray of names with the values of this JSONArray.- Parameters:
names
- a JSONArray containing a list of key strings. These will be paired with the values- Returns:
- a JSONObject, or null if there are no names or if this JSONArray has no values
- Throws:
JSONException
- if any of the names are null
-
toString
Make a JSON text of this JSONArray.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
Make a pretty printed JSON text of this JSONArray.Warning: This method assumes that the data structure is acyclical.
- Parameters:
indentFactor
- the number of spaces to add to each level of indentation- Returns:
- a printable, displayable, transmittable
representation of the object, beginning
with
[
(left bracket) and ending with]
(right bracket) - Throws:
JSONException
- if something goes wrong
-
write
Write the contents of the JSONArray as JSON text to a writer.For compactness, no whitespace is added.
Warning: This method assumes that the data structure is acyclical.
- Parameters:
writer
- the writer to write the contents to- Returns:
- the writer
- Throws:
JSONException
- if something goes wrong
-