Package net.sf.json
Class JSONArray
java.lang.Object
net.sf.json.AbstractJSON
net.sf.json.JSONArray
- All Implemented Interfaces:
Serializable
,Comparable
,Iterable<Object>
,Collection<Object>
,List<Object>
,JSON
A JSONArray is an ordered sequence of values. Its external text form is a
string wrapped in square brackets with commas separating the values. The
internal form is an object having
get
and opt
methods for accessing the values by index, and element
methods
for adding or replacing values. The values can be any of these types:
Boolean
, JSONArray
, JSONObject
,
Number
, String
, or the
JSONNull 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.
- See Also:
-
Nested Class Summary
Nested ClassesNested classes/interfaces inherited from class net.sf.json.AbstractJSON
AbstractJSON.WritingVisitor
-
Field Summary
FieldsModifier and TypeFieldDescriptionThe List where the JSONArray's properties are kept.private boolean
A flag for XML processing. -
Constructor Summary
Constructors -
Method Summary
Modifier and TypeMethodDescriptionprivate JSONArray
_addValue
(Object value, JsonConfig jsonConfig) Append an object value.private static JSONArray
_fromArray
(boolean[] array, JsonConfig jsonConfig) Construct a JSONArray from an boolean[].private static JSONArray
_fromArray
(byte[] array, JsonConfig jsonConfig) Construct a JSONArray from an byte[].private static JSONArray
_fromArray
(char[] array, JsonConfig jsonConfig) Construct a JSONArray from an char[].private static JSONArray
_fromArray
(double[] array, JsonConfig jsonConfig) Construct a JSONArray from an double[].private static JSONArray
_fromArray
(float[] array, JsonConfig jsonConfig) Construct a JSONArray from an float[].private static JSONArray
_fromArray
(int[] array, JsonConfig jsonConfig) Construct a JSONArray from an int[].private static JSONArray
_fromArray
(long[] array, JsonConfig jsonConfig) Construct a JSONArray from an long[].private static JSONArray
_fromArray
(short[] array, JsonConfig jsonConfig) Construct a JSONArray from an short[].private static JSONArray
_fromArray
(Enum e, JsonConfig jsonConfig) Construct a JSONArray from an Enum value.private static JSONArray
_fromArray
(Object[] array, JsonConfig jsonConfig) private static JSONArray
_fromCollection
(Collection collection, JsonConfig jsonConfig) private static JSONArray
_fromJSONArray
(JSONArray array, JsonConfig jsonConfig) private static JSONArray
_fromJSONString
(JSONString string, JsonConfig jsonConfig) private static JSONArray
_fromJSONTokener
(JSONTokener tokener, JsonConfig jsonConfig) private static JSONArray
_fromString
(String string, JsonConfig jsonConfig) protected Object
_processValue
(Object value, JsonConfig jsonConfig) void
void
add
(int index, Object value, JsonConfig jsonConfig) boolean
boolean
add
(Object value, JsonConfig jsonConfig) boolean
addAll
(int index, Collection collection) boolean
addAll
(int index, Collection collection, JsonConfig jsonConfig) boolean
addAll
(Collection collection) boolean
addAll
(Collection collection, JsonConfig jsonConfig) protected JSONArray
Adds a String without performing any conversion on it.private JSONArray
addValue
(Object value, JsonConfig jsonConfig) Append an object value.void
clear()
int
boolean
boolean
contains
(Object o, JsonConfig jsonConfig) boolean
containsAll
(Collection collection) boolean
containsAll
(Collection collection, JsonConfig jsonConfig) discard
(int index) Remove an element, if present.Remove an element, if present.element
(boolean value) Append a boolean value.element
(double value) Append a double value.element
(int value) Append an int value.element
(int index, boolean value) Put or replace a boolean value in the JSONArray.element
(int index, double value) Put or replace a double value.element
(int index, int value) Put or replace an int value.element
(int index, long value) Put or replace a long value.Put or replace an object value in the JSONArray.element
(int index, Object value, JsonConfig jsonConfig) Put or replace an object value in the JSONArray.Put or replace a String value in the JSONArray.element
(int index, String value, JsonConfig jsonConfig) Put or replace a String value in the JSONArray.element
(int index, Collection value) Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.element
(int index, Collection value, JsonConfig jsonConfig) 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.element
(int index, Map value, JsonConfig jsonConfig) Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.element
(long value) Append an long value.Append an object value.element
(Object value, JsonConfig jsonConfig) Append an object value.Append a String value.element
(String value, JsonConfig jsonConfig) Append a String value.element
(Collection value) Append a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.element
(Collection value, JsonConfig jsonConfig) Append 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.element
(Map value, JsonConfig jsonConfig) Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.Append an JSON value.element
(JSONObject value) Append an JSON value.boolean
static JSONArray
fromObject
(Object object) Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method.static JSONArray
fromObject
(Object object, JsonConfig jsonConfig) Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method.get
(int index) Get the object value associated with an index.boolean
getBoolean
(int index) Get the boolean value associated with an index.static Class[]
getCollectionType
(PropertyDescriptor pd, boolean useGetter) Get the collection type from a getter or setter, or null if no type was found.
Contributed by [Matt Small @ WaveMaker].static int[]
getDimensions
(JSONArray jsonArray) Returns the number of dimensions suited for a java array.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.int
hashCode()
int
boolean
isArray()
Returns true if this object is a JSONArray, false otherwise.boolean
isEmpty()
Returns true if this object has no elements or keys.boolean
iterator()
Returns an Iterator for this JSONArrayMake a string from the contents of this JSONArray.Make a string from the contents of this JSONArray.int
listIterator
(int index) 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.private static void
processArrayDimensions
(JSONArray jsonArray, List dims, int index) private Object
processValue
(Object value, JsonConfig jsonConfig) remove
(int index) boolean
boolean
removeAll
(Collection collection) boolean
removeAll
(Collection collection, JsonConfig jsonConfig) boolean
retainAll
(Collection collection) boolean
retainAll
(Collection collection, JsonConfig jsonConfig) set
(int index, Object value, JsonConfig jsonConfig) void
setExpandElements
(boolean expandElements) int
size()
Get the number of elements in the JSONArray, included nulls.subList
(int fromIndex, int toIndex) Object[]
toArray()
Produce an Object[] with the contents of this JSONArray.Object[]
static Object
Creates a java array from a JSONArray.static Object
Creates a java array from a JSONArray.static Object
Creates a java array from a JSONArray.
Any attribute is a JSONObject and matches a key in the classMap, it will be converted to that target class.
The classMap has the following conventions: Every key must be an String. Every value must be a Class. A key may be a regular expression.static Object
toArray
(JSONArray jsonArray, Object root, JsonConfig jsonConfig) Creates a java array from a JSONArray.static Object
toArray
(JSONArray jsonArray, JsonConfig jsonConfig) Creates a java array from a JSONArray.static Collection
toCollection
(JSONArray jsonArray) Returns a List or a Set taking generics into account.static Collection
toCollection
(JSONArray jsonArray, Class objectClass) Returns a List or a Set taking generics into account.static Collection
toCollection
(JSONArray jsonArray, JsonConfig jsonConfig) Returns a List or a Set taking generics into account.
Contributed by [Matt Small @ WaveMaker].toJSONObject
(JSONArray names) Produce a JSONObject by combining a JSONArray of names with the values of this JSONArray.static List
Deprecated.replaced by toCollectionstatic List
Deprecated.replaced by toCollectionstatic List
Deprecated.replaced by toCollectionstatic List
toList
(JSONArray jsonArray, Object root, JsonConfig jsonConfig) Creates a List from a JSONArray.static List
toList
(JSONArray jsonArray, JsonConfig jsonConfig) Deprecated.replaced by toCollectiontoString()
Make a JSON text of this JSONArray.toString
(int indentFactor) Make a prettyprinted JSON text of this JSONArray.toString
(int indentFactor, int indent) Make a prettyprinted JSON text of this JSONArray.protected void
write
(Writer writer, AbstractJSON.WritingVisitor visitor) Methods inherited from class net.sf.json.AbstractJSON
addInstance, fireArrayEndEvent, fireArrayStartEvent, fireElementAddedEvent, fireErrorEvent, fireObjectEndEvent, fireObjectStartEvent, firePropertySetEvent, fireWarnEvent, removeInstance, write, writeCanonical
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
Methods inherited from interface java.util.Collection
parallelStream, removeIf, stream
Methods inherited from interface net.sf.json.JSON
write, writeCanonical
Methods inherited from interface java.util.List
replaceAll, sort, spliterator
-
Field Details
-
elements
The List where the JSONArray's properties are kept. -
expandElements
private boolean expandElementsA flag for XML processing.
-
-
Constructor Details
-
JSONArray
public JSONArray()Construct an empty JSONArray.
-
-
Method Details
-
fromObject
Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method. Accepts JSON formatted strings, arrays, Collections and Enums.- Parameters:
object
-- Throws:
JSONException
- if the object can not be converted to a proper JSONArray.
-
fromObject
Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method. Accepts JSON formatted strings, arrays, Collections and Enums.- Parameters:
object
-- Throws:
JSONException
- if the object can not be converted to a proper JSONArray.
-
getCollectionType
public static Class[] getCollectionType(PropertyDescriptor pd, boolean useGetter) throws JSONException Get the collection type from a getter or setter, or null if no type was found.
Contributed by [Matt Small @ WaveMaker].- Throws:
JSONException
-
getDimensions
Returns the number of dimensions suited for a java array. -
toArray
Creates a java array from a JSONArray. -
toArray
Creates a java array from a JSONArray. -
toArray
Creates a java array from a JSONArray.
Any attribute is a JSONObject and matches a key in the classMap, it will be converted to that target class.
The classMap has the following conventions:- Every key must be an String.
- Every value must be a Class.
- A key may be a regular expression.
-
toArray
Creates a java array from a JSONArray. -
toArray
Creates a java array from a JSONArray. -
toCollection
Returns a List or a Set taking generics into account. -
toCollection
Returns a List or a Set taking generics into account. -
toCollection
Returns a List or a Set taking generics into account.
Contributed by [Matt Small @ WaveMaker]. -
toList
Deprecated.replaced by toCollectionCreates a List from a JSONArray.- See Also:
-
toList
Deprecated.replaced by toCollectionCreates a List from a JSONArray.- See Also:
-
toList
Deprecated.replaced by toCollectionCreates a List from a JSONArray.
Any attribute is a JSONObject and matches a key in the classMap, it will be converted to that target class.
The classMap has the following conventions:- Every key must be an String.
- Every value must be a Class.
- A key may be a regular expression.
- See Also:
-
#toCollection(JSONArray, Class, Map)
-
toList
Deprecated.replaced by toCollectionCreates a List from a JSONArray.- See Also:
-
toList
Creates a List from a JSONArray. -
_fromArray
Construct a JSONArray from an boolean[].- Parameters:
array
- An boolean[] array.
-
_fromArray
Construct a JSONArray from an byte[].- Parameters:
array
- An byte[] array.
-
_fromArray
Construct a JSONArray from an char[].- Parameters:
array
- An char[] array.
-
_fromArray
Construct a JSONArray from an double[].- Parameters:
array
- An double[] array.
-
_fromArray
Construct a JSONArray from an Enum value.- Parameters:
e
- A enum value.- Throws:
JSONException
- If there is a syntax error.
-
_fromArray
Construct a JSONArray from an float[].- Parameters:
array
- An float[] array.
-
_fromArray
Construct a JSONArray from an int[].- Parameters:
array
- An int[] array.
-
_fromArray
Construct a JSONArray from an long[].- Parameters:
array
- An long[] array.
-
_fromArray
-
_fromArray
Construct a JSONArray from an short[].- Parameters:
array
- An short[] array.
-
_fromCollection
-
_fromJSONArray
-
_fromJSONString
-
_fromJSONTokener
-
_fromString
-
processArrayDimensions
-
add
-
add
-
add
-
add
-
addAll
-
addAll
-
addAll
-
addAll
-
clear
public void clear() -
compareTo
- Specified by:
compareTo
in interfaceComparable
-
contains
-
contains
-
containsAll
- Specified by:
containsAll
in interfaceCollection<Object>
- Specified by:
containsAll
in interfaceList<Object>
-
containsAll
-
discard
Remove an element, if present.- Parameters:
index
- the index of the element.- Returns:
- this.
-
discard
Remove an element, if present.- Parameters:
index
- the element.- Returns:
- this.
-
element
Append a boolean value. This increases the array's length by one.- Parameters:
value
- A boolean value.- Returns:
- this.
-
element
Append 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.
-
element
Append 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.
-
element
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.
-
element
Append an int value. This increases the array's length by one.- Parameters:
value
- An int value.- Returns:
- this.
-
element
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 subscript.value
- A boolean value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative.
-
element
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.- Parameters:
index
- The subscript.value
- A Collection value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the value is not finite.
-
element
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.- Parameters:
index
- The subscript.value
- A Collection value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the value is not finite.
-
element
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 subscript.value
- A double value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the value is not finite.
-
element
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 subscript.value
- An int value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative.
-
element
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 subscript.value
- A long value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative.
-
element
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.- Parameters:
index
- The subscript.value
- The Map value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the the value is an invalid number.
-
element
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.- Parameters:
index
- The subscript.value
- The Map value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the the value is an invalid number.
-
element
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 subscript.value
- An object value. The value should be a Boolean, Double, Integer, JSONArray, JSONObject, JSONFunction, Long, String, JSONString or the JSONNull object.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the the value is an invalid number.
-
element
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 subscript.value
- An object value. The value should be a Boolean, Double, Integer, JSONArray, JSONObject, JSONFunction, Long, String, JSONString or the JSONNull object.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the the value is an invalid number.
-
element
Put or replace a String 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.
The string may be a valid JSON formatted string, in tha case, it will be transformed to a JSONArray, JSONObject or JSONNull.- Parameters:
index
- The subscript.value
- A String value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the the value is an invalid number.
-
element
Put or replace a String 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.
The string may be a valid JSON formatted string, in tha case, it will be transformed to a JSONArray, JSONObject or JSONNull.- Parameters:
index
- The subscript.value
- A String value.- Returns:
- this.
- Throws:
JSONException
- If the index is negative or if the the value is an invalid number.
-
element
Append an JSON value. This increases the array's length by one.- Parameters:
value
- An JSON value.- Returns:
- this.
-
element
Append an JSON value. This increases the array's length by one.- Parameters:
value
- An JSON value.- Returns:
- this.
-
element
Append an long value. This increases the array's length by one.- Parameters:
value
- A long value.- Returns:
- this.
-
element
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.
-
element
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.
-
element
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, JSONFunction, Long, String, JSONString or the JSONNull object.- Returns:
- this.
-
element
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, JSONFunction, Long, String, JSONString or the JSONNull object.- Returns:
- this.
-
element
Append a String value. This increases the array's length by one.
The string may be a valid JSON formatted string, in tha case, it will be transformed to a JSONArray, JSONObject or JSONNull.- Parameters:
value
- A String value.- Returns:
- this.
-
element
Append a String value. This increases the array's length by one.
The string may be a valid JSON formatted string, in tha case, it will be transformed to a JSONArray, JSONObject or JSONNull.- Parameters:
value
- A String value.- Returns:
- this.
-
equals
-
get
Get the object value associated with an index. -
getBoolean
public boolean getBoolean(int index) 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 size() - 1.- Returns:
- The truth.
- Throws:
JSONException
- If there is no value for the index or if the value is not convertable to boolean.
-
getDouble
public double getDouble(int index) Get the double value associated with an index.- Parameters:
index
- The index must be between 0 and size() - 1.- Returns:
- The value.
- Throws:
JSONException
- If the key is not found or if the value cannot be converted to a number.
-
getInt
public int getInt(int index) Get the int value associated with an index.- Parameters:
index
- The index must be between 0 and size() - 1.- Returns:
- The value.
- Throws:
JSONException
- If the key is not found or if the value cannot be converted to a number. 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 size() - 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
- subscript- Returns:
- A JSONObject value.
- Throws:
JSONException
- If there is no value for the index or if the value is not a JSONObject
-
getLong
public long getLong(int index) Get the long value associated with an index.- Parameters:
index
- The index must be between 0 and size() - 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 size() - 1.- Returns:
- A string value.
- Throws:
JSONException
- If there is no value for the index.
-
hashCode
public int hashCode() -
indexOf
-
isArray
public boolean isArray()Description copied from interface:JSON
Returns true if this object is a JSONArray, false otherwise. -
isEmpty
public boolean isEmpty()Description copied from interface:JSON
Returns true if this object has no elements or keys. -
isExpandElements
public boolean isExpandElements() -
iterator
Returns an Iterator for this JSONArray -
join
Make a string from the contents of this JSONArray. Theseparator
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.
-
join
Make a string from the contents of this JSONArray. Theseparator
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.
-
lastIndexOf
- Specified by:
lastIndexOf
in interfaceList<Object>
-
listIterator
- Specified by:
listIterator
in interfaceList<Object>
-
listIterator
- Specified by:
listIterator
in interfaceList<Object>
-
opt
Get the optional object value associated with an index.- Parameters:
index
- The index must be between 0 and size() - 1.- Returns:
- An object value, or null if there is no object at that index.
-
optBoolean
public boolean optBoolean(int index) 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 size() - 1.- Returns:
- The truth.
-
optBoolean
public boolean optBoolean(int index, boolean defaultValue) 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 size() - 1.defaultValue
- A boolean default.- Returns:
- The truth.
-
optDouble
public double optDouble(int index) 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 size() - 1.- Returns:
- The value.
-
optDouble
public double optDouble(int index, double defaultValue) 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
- subscriptdefaultValue
- The default value.- Returns:
- The value.
-
optInt
public int optInt(int index) 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 size() - 1.- Returns:
- The value.
-
optInt
public int optInt(int index, int defaultValue) 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 size() - 1.defaultValue
- The default value.- Returns:
- The value.
-
optJSONArray
Get the optional JSONArray associated with an index.- Parameters:
index
- subscript- Returns:
- A 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 size() - 1.- Returns:
- A JSONObject value.
-
optLong
public long optLong(int index) 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 size() - 1.- Returns:
- The value.
-
optLong
public long optLong(int index, long defaultValue) 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 size() - 1.defaultValue
- 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 size() - 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
- The index must be between 0 and size() - 1.defaultValue
- The default value.- Returns:
- A String value.
-
remove
-
remove
-
removeAll
-
removeAll
-
retainAll
-
retainAll
-
set
-
set
-
setExpandElements
public void setExpandElements(boolean expandElements) -
size
public int size()Get the number of elements in the JSONArray, included nulls. -
subList
-
toArray
Produce an Object[] with the contents of this JSONArray. -
toArray
-
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 prettyprinted JSON text of this JSONArray. Warning: This method assumes that the data structure is acyclical.- Specified by:
toString
in interfaceJSON
- 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
-
toString
Make a prettyprinted JSON text of this JSONArray. Warning: This method assumes that the data structure is acyclical.- Specified by:
toString
in interfaceJSON
- Parameters:
indentFactor
- The number of spaces to add to each level of indentation.indent
- The indention of the top level.- Returns:
- a printable, displayable, transmittable representation of the array.
- Throws:
JSONException
-
write
- Specified by:
write
in classAbstractJSON
- Throws:
IOException
-
addString
Adds a String without performing any conversion on it. -
_addValue
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, JSONFunction, Long, String, JSONString or the JSONNull object.- Returns:
- this.
-
_processValue
- Overrides:
_processValue
in classAbstractJSON
-
addValue
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, JSONFunction, Long, String, JSONString or the JSONNull object.- Returns:
- this.
-
processValue
-