Class JSONArray
- java.lang.Object
-
- net.sf.json.JSONArray
-
- All Implemented Interfaces:
java.io.Serializable
,java.lang.Comparable
,java.lang.Iterable<java.lang.Object>
,java.util.Collection<java.lang.Object>
,java.util.List<java.lang.Object>
,JSON
public final class JSONArray extends java.lang.Object implements JSON, java.util.List<java.lang.Object>, java.lang.Comparable
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 havingget
andopt
methods for accessing the values by index, andelement
methods for adding or replacing values. The values can be any of these types:Boolean
,JSONArray
,JSONObject
,Number
,String
, or theJSONNull 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. Anopt
method returns a default value instead of throwing an exception, and so is useful for obtaining optional values.The generic
get()
andopt()
methods return an object which you can cast or query for type. There are also typedget
andopt
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.
- Author:
- JSON.org
- See Also:
- Serialized Form
-
-
Constructor Summary
Constructors Constructor Description JSONArray()
Construct an empty JSONArray.
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Deprecated Methods Modifier and Type Method Description protected java.lang.Object
_processValue(java.lang.Object value, JsonConfig jsonConfig)
void
add(int index, java.lang.Object value)
void
add(int index, java.lang.Object value, JsonConfig jsonConfig)
boolean
add(java.lang.Object value)
boolean
add(java.lang.Object value, JsonConfig jsonConfig)
boolean
addAll(int index, java.util.Collection collection)
boolean
addAll(int index, java.util.Collection collection, JsonConfig jsonConfig)
boolean
addAll(java.util.Collection collection)
boolean
addAll(java.util.Collection collection, JsonConfig jsonConfig)
protected static boolean
addInstance(java.lang.Object instance)
Adds a reference for cycle detection check.protected JSONArray
addString(java.lang.String str)
Adds a String without performing any conversion on it.void
clear()
int
compareTo(java.lang.Object obj)
boolean
contains(java.lang.Object o)
boolean
contains(java.lang.Object o, JsonConfig jsonConfig)
boolean
containsAll(java.util.Collection collection)
boolean
containsAll(java.util.Collection collection, JsonConfig jsonConfig)
JSONArray
discard(int index)
Remove an element, if present.JSONArray
discard(java.lang.Object o)
Remove an element, if present.JSONArray
element(boolean value)
Append a boolean value.JSONArray
element(double value)
Append a double value.JSONArray
element(int value)
Append an int value.JSONArray
element(int index, boolean value)
Put or replace a boolean value in the JSONArray.JSONArray
element(int index, double value)
Put or replace a double value.JSONArray
element(int index, int value)
Put or replace an int value.JSONArray
element(int index, long value)
Put or replace a long value.JSONArray
element(int index, java.lang.Object value)
Put or replace an object value in the JSONArray.JSONArray
element(int index, java.lang.Object value, JsonConfig jsonConfig)
Put or replace an object value in the JSONArray.JSONArray
element(int index, java.lang.String value)
Put or replace a String value in the JSONArray.JSONArray
element(int index, java.lang.String value, JsonConfig jsonConfig)
Put or replace a String value in the JSONArray.JSONArray
element(int index, java.util.Collection value)
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.JSONArray
element(int index, java.util.Collection value, JsonConfig jsonConfig)
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.JSONArray
element(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
element(int index, java.util.Map value, JsonConfig jsonConfig)
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.JSONArray
element(long value)
Append an long value.JSONArray
element(java.lang.Object value)
Append an object value.JSONArray
element(java.lang.Object value, JsonConfig jsonConfig)
Append an object value.JSONArray
element(java.lang.String value)
Append a String value.JSONArray
element(java.lang.String value, JsonConfig jsonConfig)
Append a String value.JSONArray
element(java.util.Collection value)
Append a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.JSONArray
element(java.util.Collection value, JsonConfig jsonConfig)
Append a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.JSONArray
element(java.util.Map value)
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.JSONArray
element(java.util.Map value, JsonConfig jsonConfig)
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.JSONArray
element(JSONNull value)
Append an JSON value.JSONArray
element(JSONObject value)
Append an JSON value.boolean
equals(java.lang.Object obj)
protected static void
fireArrayEndEvent(JsonConfig jsonConfig)
Fires an end of array event.protected static void
fireArrayStartEvent(JsonConfig jsonConfig)
Fires a start of array event.protected static void
fireElementAddedEvent(int index, java.lang.Object element, JsonConfig jsonConfig)
Fires an element added event.protected static void
fireErrorEvent(JSONException jsone, JsonConfig jsonConfig)
Fires an error event.protected static void
fireObjectEndEvent(JsonConfig jsonConfig)
Fires an end of object event.protected static void
fireObjectStartEvent(JsonConfig jsonConfig)
Fires a start of object event.protected static void
firePropertySetEvent(java.lang.String key, java.lang.Object value, boolean accumulated, JsonConfig jsonConfig)
Fires a property set event.protected static void
fireWarnEvent(java.lang.String warning, JsonConfig jsonConfig)
Fires a warning event.static JSONArray
fromObject(java.lang.Object object)
Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method.static JSONArray
fromObject(java.lang.Object object, JsonConfig jsonConfig)
Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method.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.static java.lang.Class[]
getCollectionType(java.beans.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.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.int
hashCode()
int
indexOf(java.lang.Object o)
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
isExpandElements()
java.util.Iterator
iterator()
Returns an Iterator for this JSONArrayjava.lang.String
join(java.lang.String separator)
Make a string from the contents of this JSONArray.java.lang.String
join(java.lang.String separator, boolean stripQuotes)
Make a string from the contents of this JSONArray.int
lastIndexOf(java.lang.Object o)
java.util.ListIterator
listIterator()
java.util.ListIterator
listIterator(int index)
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.java.lang.Object
remove(int index)
boolean
remove(java.lang.Object o)
boolean
removeAll(java.util.Collection collection)
boolean
removeAll(java.util.Collection collection, JsonConfig jsonConfig)
protected static void
removeInstance(java.lang.Object instance)
Removes a reference for cycle detection check.boolean
retainAll(java.util.Collection collection)
boolean
retainAll(java.util.Collection collection, JsonConfig jsonConfig)
java.lang.Object
set(int index, java.lang.Object value)
java.lang.Object
set(int index, java.lang.Object value, JsonConfig jsonConfig)
void
setExpandElements(boolean expandElements)
int
size()
Get the number of elements in the JSONArray, included nulls.java.util.List
subList(int fromIndex, int toIndex)
java.lang.Object[]
toArray()
Produce an Object[] with the contents of this JSONArray.java.lang.Object[]
toArray(java.lang.Object[] array)
static java.lang.Object
toArray(JSONArray jsonArray)
Creates a java array from a JSONArray.static java.lang.Object
toArray(JSONArray jsonArray, java.lang.Class objectClass)
Creates a java array from a JSONArray.static java.lang.Object
toArray(JSONArray jsonArray, java.lang.Class objectClass, java.util.Map classMap)
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 java.lang.Object
toArray(JSONArray jsonArray, java.lang.Object root, JsonConfig jsonConfig)
Creates a java array from a JSONArray.static java.lang.Object
toArray(JSONArray jsonArray, JsonConfig jsonConfig)
Creates a java array from a JSONArray.static java.util.Collection
toCollection(JSONArray jsonArray)
Returns a List or a Set taking generics into account.static java.util.Collection
toCollection(JSONArray jsonArray, java.lang.Class objectClass)
Returns a List or a Set taking generics into account.static java.util.Collection
toCollection(JSONArray jsonArray, JsonConfig jsonConfig)
Returns a List or a Set taking generics into account.
Contributed by [Matt Small @ WaveMaker].JSONObject
toJSONObject(JSONArray names)
Produce a JSONObject by combining a JSONArray of names with the values of this JSONArray.static java.util.List
toList(JSONArray jsonArray)
Deprecated.replaced by toCollectionstatic java.util.List
toList(JSONArray jsonArray, java.lang.Class objectClass)
Deprecated.replaced by toCollectionstatic java.util.List
toList(JSONArray jsonArray, java.lang.Class objectClass, java.util.Map classMap)
Deprecated.replaced by toCollectionstatic java.util.List
toList(JSONArray jsonArray, java.lang.Object root, JsonConfig jsonConfig)
Creates a List from a JSONArray.static java.util.List
toList(JSONArray jsonArray, JsonConfig jsonConfig)
Deprecated.replaced by toCollectionjava.lang.String
toString()
Make a JSON text of this JSONArray.java.lang.String
toString(int indentFactor)
Make a prettyprinted JSON text of this JSONArray.java.lang.String
toString(int indentFactor, int indent)
Make a prettyprinted JSON text of this JSONArray.java.io.Writer
write(java.io.Writer writer)
Write the contents as JSON text to a writer.protected void
write(java.io.Writer writer, net.sf.json.AbstractJSON.WritingVisitor visitor)
java.io.Writer
writeCanonical(java.io.Writer writer)
Writes the canonicalized form of this JSON object.-
Methods inherited from class java.lang.Object
clone, finalize, getClass, notify, notifyAll, wait, wait, wait
-
Methods inherited from interface net.sf.json.JSON
write, writeCanonical
-
-
-
-
Method Detail
-
fromObject
public static JSONArray fromObject(java.lang.Object object)
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
public static JSONArray fromObject(java.lang.Object object, JsonConfig jsonConfig)
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 java.lang.Class[] getCollectionType(java.beans.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
public static int[] getDimensions(JSONArray jsonArray)
Returns the number of dimensions suited for a java array.
-
toArray
public static java.lang.Object toArray(JSONArray jsonArray)
Creates a java array from a JSONArray.
-
toArray
public static java.lang.Object toArray(JSONArray jsonArray, java.lang.Class objectClass)
Creates a java array from a JSONArray.
-
toArray
public static java.lang.Object toArray(JSONArray jsonArray, java.lang.Class objectClass, java.util.Map classMap)
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
public static java.lang.Object toArray(JSONArray jsonArray, JsonConfig jsonConfig)
Creates a java array from a JSONArray.
-
toArray
public static java.lang.Object toArray(JSONArray jsonArray, java.lang.Object root, JsonConfig jsonConfig)
Creates a java array from a JSONArray.
-
toCollection
public static java.util.Collection toCollection(JSONArray jsonArray)
Returns a List or a Set taking generics into account.
-
toCollection
public static java.util.Collection toCollection(JSONArray jsonArray, java.lang.Class objectClass)
Returns a List or a Set taking generics into account.
-
toCollection
public static java.util.Collection toCollection(JSONArray jsonArray, JsonConfig jsonConfig)
Returns a List or a Set taking generics into account.
Contributed by [Matt Small @ WaveMaker].
-
toList
public static java.util.List toList(JSONArray jsonArray)
Deprecated.replaced by toCollectionCreates a List from a JSONArray.- See Also:
toCollection(JSONArray)
-
toList
public static java.util.List toList(JSONArray jsonArray, java.lang.Class objectClass)
Deprecated.replaced by toCollectionCreates a List from a JSONArray.- See Also:
toCollection(JSONArray,Class)
-
toList
public static java.util.List toList(JSONArray jsonArray, java.lang.Class objectClass, java.util.Map classMap)
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
public static java.util.List toList(JSONArray jsonArray, JsonConfig jsonConfig)
Deprecated.replaced by toCollectionCreates a List from a JSONArray.- See Also:
toCollection(JSONArray,JsonConfig)
-
toList
public static java.util.List toList(JSONArray jsonArray, java.lang.Object root, JsonConfig jsonConfig)
Creates a List from a JSONArray.
-
add
public void add(int index, java.lang.Object value)
- Specified by:
add
in interfacejava.util.List<java.lang.Object>
-
add
public void add(int index, java.lang.Object value, JsonConfig jsonConfig)
-
add
public boolean add(java.lang.Object value)
- Specified by:
add
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
add
in interfacejava.util.List<java.lang.Object>
-
add
public boolean add(java.lang.Object value, JsonConfig jsonConfig)
-
addAll
public boolean addAll(java.util.Collection collection)
- Specified by:
addAll
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
addAll
in interfacejava.util.List<java.lang.Object>
-
addAll
public boolean addAll(java.util.Collection collection, JsonConfig jsonConfig)
-
addAll
public boolean addAll(int index, java.util.Collection collection)
- Specified by:
addAll
in interfacejava.util.List<java.lang.Object>
-
addAll
public boolean addAll(int index, java.util.Collection collection, JsonConfig jsonConfig)
-
clear
public void clear()
- Specified by:
clear
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
clear
in interfacejava.util.List<java.lang.Object>
-
compareTo
public int compareTo(java.lang.Object obj)
- Specified by:
compareTo
in interfacejava.lang.Comparable
-
contains
public boolean contains(java.lang.Object o)
- Specified by:
contains
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
contains
in interfacejava.util.List<java.lang.Object>
-
contains
public boolean contains(java.lang.Object o, JsonConfig jsonConfig)
-
containsAll
public boolean containsAll(java.util.Collection collection)
- Specified by:
containsAll
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
containsAll
in interfacejava.util.List<java.lang.Object>
-
containsAll
public boolean containsAll(java.util.Collection collection, JsonConfig jsonConfig)
-
discard
public JSONArray discard(int index)
Remove an element, if present.- Parameters:
index
- the index of the element.- Returns:
- this.
-
discard
public JSONArray discard(java.lang.Object o)
Remove an element, if present.- Parameters:
index
- the element.- Returns:
- this.
-
element
public JSONArray element(boolean value)
Append a boolean value. This increases the array's length by one.- Parameters:
value
- A boolean value.- Returns:
- this.
-
element
public JSONArray element(java.util.Collection value)
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
public JSONArray element(java.util.Collection value, JsonConfig jsonConfig)
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
public JSONArray element(double value)
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
public JSONArray element(int value)
Append an int value. This increases the array's length by one.- Parameters:
value
- An int value.- Returns:
- this.
-
element
public JSONArray element(int index, boolean value)
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
public JSONArray element(int index, java.util.Collection value)
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
public JSONArray element(int index, java.util.Collection value, JsonConfig jsonConfig)
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
public JSONArray element(int index, double value)
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
public JSONArray element(int index, int value)
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
public JSONArray element(int index, long value)
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
public JSONArray element(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.- 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
public JSONArray element(int index, java.util.Map value, JsonConfig jsonConfig)
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
public JSONArray element(int index, java.lang.Object value)
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
public JSONArray element(int index, java.lang.Object value, JsonConfig jsonConfig)
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
public JSONArray element(int index, java.lang.String value)
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
public JSONArray element(int index, java.lang.String value, JsonConfig jsonConfig)
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
public JSONArray element(JSONNull value)
Append an JSON value. This increases the array's length by one.- Parameters:
value
- An JSON value.- Returns:
- this.
-
element
public JSONArray element(JSONObject value)
Append an JSON value. This increases the array's length by one.- Parameters:
value
- An JSON value.- Returns:
- this.
-
element
public JSONArray element(long value)
Append an long value. This increases the array's length by one.- Parameters:
value
- A long value.- Returns:
- this.
-
element
public JSONArray element(java.util.Map value)
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
public JSONArray element(java.util.Map value, JsonConfig jsonConfig)
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
public JSONArray element(java.lang.Object value)
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
public JSONArray element(java.lang.Object value, JsonConfig jsonConfig)
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
public JSONArray element(java.lang.String value)
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
public JSONArray element(java.lang.String value, JsonConfig jsonConfig)
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
public boolean equals(java.lang.Object obj)
- Specified by:
equals
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
equals
in interfacejava.util.List<java.lang.Object>
- Overrides:
equals
in classjava.lang.Object
-
get
public java.lang.Object get(int index)
Get the object value associated with an index.- Specified by:
get
in interfacejava.util.List<java.lang.Object>
- Parameters:
index
- The index must be between 0 and size() - 1.- Returns:
- An object value.
-
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
public JSONArray getJSONArray(int index)
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
public JSONObject getJSONObject(int index)
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
public java.lang.String getString(int index)
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()
- Specified by:
hashCode
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
hashCode
in interfacejava.util.List<java.lang.Object>
- Overrides:
hashCode
in classjava.lang.Object
-
indexOf
public int indexOf(java.lang.Object o)
- Specified by:
indexOf
in interfacejava.util.List<java.lang.Object>
-
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
public java.util.Iterator iterator()
Returns an Iterator for this JSONArray- Specified by:
iterator
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
iterator
in interfacejava.lang.Iterable<java.lang.Object>
- Specified by:
iterator
in interfacejava.util.List<java.lang.Object>
-
join
public java.lang.String join(java.lang.String separator)
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
public java.lang.String join(java.lang.String separator, boolean stripQuotes)
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
public int lastIndexOf(java.lang.Object o)
- Specified by:
lastIndexOf
in interfacejava.util.List<java.lang.Object>
-
listIterator
public java.util.ListIterator listIterator()
- Specified by:
listIterator
in interfacejava.util.List<java.lang.Object>
-
listIterator
public java.util.ListIterator listIterator(int index)
- Specified by:
listIterator
in interfacejava.util.List<java.lang.Object>
-
opt
public java.lang.Object opt(int index)
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
public JSONArray optJSONArray(int index)
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
public JSONObject optJSONObject(int index)
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
public java.lang.String optString(int index)
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
public java.lang.String optString(int index, java.lang.String defaultValue)
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
public java.lang.Object remove(int index)
- Specified by:
remove
in interfacejava.util.List<java.lang.Object>
-
remove
public boolean remove(java.lang.Object o)
- Specified by:
remove
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
remove
in interfacejava.util.List<java.lang.Object>
-
removeAll
public boolean removeAll(java.util.Collection collection)
- Specified by:
removeAll
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
removeAll
in interfacejava.util.List<java.lang.Object>
-
removeAll
public boolean removeAll(java.util.Collection collection, JsonConfig jsonConfig)
-
retainAll
public boolean retainAll(java.util.Collection collection)
- Specified by:
retainAll
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
retainAll
in interfacejava.util.List<java.lang.Object>
-
retainAll
public boolean retainAll(java.util.Collection collection, JsonConfig jsonConfig)
-
set
public java.lang.Object set(int index, java.lang.Object value)
- Specified by:
set
in interfacejava.util.List<java.lang.Object>
-
set
public java.lang.Object set(int index, java.lang.Object value, JsonConfig jsonConfig)
-
setExpandElements
public void setExpandElements(boolean expandElements)
-
size
public int size()
Get the number of elements in the JSONArray, included nulls.
-
subList
public java.util.List subList(int fromIndex, int toIndex)
- Specified by:
subList
in interfacejava.util.List<java.lang.Object>
-
toArray
public java.lang.Object[] toArray()
Produce an Object[] with the contents of this JSONArray.- Specified by:
toArray
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
toArray
in interfacejava.util.List<java.lang.Object>
-
toArray
public java.lang.Object[] toArray(java.lang.Object[] array)
- Specified by:
toArray
in interfacejava.util.Collection<java.lang.Object>
- Specified by:
toArray
in interfacejava.util.List<java.lang.Object>
-
toJSONObject
public JSONObject toJSONObject(JSONArray names)
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
public java.lang.String 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.
- Overrides:
toString
in classjava.lang.Object
- Returns:
- a printable, displayable, transmittable representation of the array.
-
toString
public java.lang.String toString(int indentFactor)
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
public java.lang.String toString(int indentFactor, int indent)
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
protected void write(java.io.Writer writer, net.sf.json.AbstractJSON.WritingVisitor visitor) throws java.io.IOException
- Throws:
java.io.IOException
-
addString
protected JSONArray addString(java.lang.String str)
Adds a String without performing any conversion on it.
-
_processValue
protected java.lang.Object _processValue(java.lang.Object value, JsonConfig jsonConfig)
-
addInstance
protected static boolean addInstance(java.lang.Object instance)
Adds a reference for cycle detection check.- Parameters:
instance
- the reference to add- Returns:
- true if the instance has not been added previously, false otherwise.
-
fireArrayEndEvent
protected static void fireArrayEndEvent(JsonConfig jsonConfig)
Fires an end of array event.
-
fireArrayStartEvent
protected static void fireArrayStartEvent(JsonConfig jsonConfig)
Fires a start of array event.
-
fireElementAddedEvent
protected static void fireElementAddedEvent(int index, java.lang.Object element, JsonConfig jsonConfig)
Fires an element added event.- Parameters:
index
- the index where the element was addedelement
- the added element
-
fireErrorEvent
protected static void fireErrorEvent(JSONException jsone, JsonConfig jsonConfig)
Fires an error event.- Parameters:
jsone
- the thrown exception
-
fireObjectEndEvent
protected static void fireObjectEndEvent(JsonConfig jsonConfig)
Fires an end of object event.
-
fireObjectStartEvent
protected static void fireObjectStartEvent(JsonConfig jsonConfig)
Fires a start of object event.
-
firePropertySetEvent
protected static void firePropertySetEvent(java.lang.String key, java.lang.Object value, boolean accumulated, JsonConfig jsonConfig)
Fires a property set event.- Parameters:
key
- the name of the propertyvalue
- the value of the propertyaccumulated
- if the value has been accumulated over 'key'
-
fireWarnEvent
protected static void fireWarnEvent(java.lang.String warning, JsonConfig jsonConfig)
Fires a warning event.- Parameters:
warning
- the warning message
-
removeInstance
protected static void removeInstance(java.lang.Object instance)
Removes a reference for cycle detection check.
-
write
public final java.io.Writer write(java.io.Writer writer) throws java.io.IOException
Description copied from interface:JSON
Write the contents as JSON text to a writer. For compactness, no whitespace is added.Warning: This method assumes that the data structure is acyclical.
-
writeCanonical
public final java.io.Writer writeCanonical(java.io.Writer writer) throws java.io.IOException
Description copied from interface:JSON
Writes the canonicalized form of this JSON object.- Specified by:
writeCanonical
in interfaceJSON
- Throws:
java.io.IOException
-
-