public class

JSONArray

extends Object
java.lang.Object
   ↳ org.json.JSONArray

Class Overview

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 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 words true, false, or null.
  • Values can be separated by ; (semicolon) as well as by , (comma).
  • Numbers may have the 0- (octal) or 0x- (hex) prefix.
  • Comments written in the slashshlash, slashstar, and hash conventions will be ignored.

Summary

Public Constructors
JSONArray()
Construct an empty JSONArray.
JSONArray(JSONTokener x)
Construct a JSONArray from a JSONTokener.
JSONArray(String string)
Construct a JSONArray from a source sJSON text.
JSONArray(Collection collection)
Construct a JSONArray from a Collection.
Public Methods
boolean equals(Object object)
Compares this instance with the specified object and indicates if they are equal.
Object get(int index)
Get the object value associated with an index.
boolean getBoolean(int index)
Get the boolean value associated with an index.
double getDouble(int index)
Get the double value associated with an index.
int getInt(int index)
Get the int value associated with an index.
JSONArray getJSONArray(int index)
Get the JSONArray associated with an index.
JSONObject getJSONObject(int index)
Get the JSONObject associated with an index.
long getLong(int index)
Get the long value associated with an index.
String getString(int index)
Get the string associated with an index.
boolean isNull(int index)
Determine if the value is null.
String join(String separator)
Make a string from the contents of this JSONArray.
int length()
Get the number of elements in the JSONArray, included nulls.
Object opt(int index)
Get the optional object value associated with an index.
boolean optBoolean(int index, boolean defaultValue)
Get the optional boolean value associated with an index.
boolean optBoolean(int index)
Get the optional boolean value associated with an index.
double optDouble(int index, double defaultValue)
Get the optional double value associated with an index.
double optDouble(int index)
Get the optional double value associated with an index.
int optInt(int index, int defaultValue)
Get the optional int value associated with an index.
int optInt(int index)
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, long defaultValue)
Get the optional long value associated with an index.
long optLong(int index)
Get the optional long value associated with an index.
String optString(int index)
Get the optional string value associated with an index.
String optString(int index, String defaultValue)
Get the optional string associated with an index.
JSONArray put(int index, boolean value)
Put or replace a boolean value in the JSONArray.
JSONArray put(int index, long value)
Put or replace a long value.
JSONArray put(boolean value)
Append a boolean value.
JSONArray put(long value)
Append an long value.
JSONArray put(int value)
Append an int value.
JSONArray put(int index, Object value)
Put or replace an object value in the JSONArray.
JSONArray put(Object value)
Append an object value.
JSONArray put(int index, double value)
Put or replace a double value.
JSONArray put(double value)
Append a double value.
JSONArray put(int index, int value)
Put or replace an int value.
JSONObject toJSONObject(JSONArray names)
Produce a JSONObject by combining a JSONArray of names with the values of this JSONArray.
String toString()
Make an JSON text of this JSONArray.
String toString(int indentFactor)
Make a prettyprinted JSON text of this JSONArray.
[Expand]
Inherited Methods
From class java.lang.Object

Public Constructors

public JSONArray ()

Since: API Level 1

Construct an empty JSONArray.

public JSONArray (JSONTokener x)

Since: API Level 1

Construct a JSONArray from a JSONTokener.

Parameters
x A JSONTokener
Throws
JSONException If there is a syntax error.

public JSONArray (String string)

Since: API Level 1

Construct a JSONArray from a source sJSON text.

Parameters
string A string that begins with [ (left bracket) and ends with ] (right bracket).
Throws
JSONException If there is a syntax error.

public JSONArray (Collection collection)

Since: API Level 1

Construct a JSONArray from a Collection.

Parameters
collection A Collection.

Public Methods

public boolean equals (Object object)

Since: API Level 1

Compares this instance with the specified object and indicates if they are equal. In order to be equal, o must represent the same object as this instance using a class-specific comparison. The general contract is that this comparison should be both transitive and reflexive.

The implementation in Object returns true only if o is the exact same object as the receiver (using the == operator for comparison). Subclasses often implement equals(Object) so that it takes into account the two object's types and states.

The general contract for the equals(Object) and hashCode() methods is that if equals returns true for any two objects, then hashCode() must return the same value for these objects. This means that subclasses of Object usually override either both methods or none of them.

Parameters
object the object to compare this instance with.
Returns
  • true if the specified object is equal to this Object; false otherwise.

public Object get (int index)

Since: API Level 1

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.

public boolean getBoolean (int index)

Since: API Level 1

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.

public double getDouble (int index)

Since: API Level 1

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.

public int getInt (int index)

Since: API Level 1

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. if the value cannot be converted to a number.

public JSONArray getJSONArray (int index)

Since: API Level 1

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

public JSONObject getJSONObject (int index)

Since: API Level 1

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

public long getLong (int index)

Since: API Level 1

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.

public String getString (int index)

Since: API Level 1

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.

public boolean isNull (int index)

Since: API Level 1

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.

public String join (String separator)

Since: API Level 1

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.

public int length ()

Since: API Level 1

Get the number of elements in the JSONArray, included nulls.

Returns
  • The length (or size).

public Object opt (int index)

Since: API Level 1

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.

public boolean optBoolean (int index, boolean defaultValue)

Since: API Level 1

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() - 1.
defaultValue A boolean default.
Returns
  • The truth.

public boolean optBoolean (int index)

Since: API Level 1

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.

public double optDouble (int index, double defaultValue)

Since: API Level 1

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 subscript
defaultValue The default value.
Returns
  • The value.

public double optDouble (int index)

Since: API Level 1

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.

public int optInt (int index, int defaultValue)

Since: API Level 1

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() - 1.
defaultValue The default value.
Returns
  • The value.

public int optInt (int index)

Since: API Level 1

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.

public JSONArray optJSONArray (int index)

Since: API Level 1

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.

public JSONObject optJSONObject (int index)

Since: API Level 1

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.

public long optLong (int index, long defaultValue)

Since: API Level 1

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() - 1.
defaultValue The default value.
Returns
  • The value.

public long optLong (int index)

Since: API Level 1

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.

public String optString (int index)

Since: API Level 1

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.

public String optString (int index, String defaultValue)

Since: API Level 1

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 length() - 1.
defaultValue The default value.
Returns
  • A String value.

public JSONArray put (int index, boolean value)

Since: API Level 1

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.

public JSONArray put (int index, long value)

Since: API Level 1

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.

public JSONArray put (boolean value)

Since: API Level 1

Append a boolean value. This increases the array's length by one.

Parameters
value A boolean value.
Returns
  • this.

public JSONArray put (long value)

Since: API Level 1

Append an long value. This increases the array's length by one.

Parameters
value A long value.
Returns
  • this.

public JSONArray put (int value)

Since: API Level 1

Append an int value. This increases the array's length by one.

Parameters
value An int value.
Returns
  • this.

public JSONArray put (int index, Object value)

Since: API Level 1

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 The value to put into the array.
Returns
  • this.
Throws
JSONException If the index is negative or if the the value is an invalid number.

public JSONArray put (Object value)

Since: API Level 1

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, JSObject, Long, or String, or the JSONObject.NULL object.
Returns
  • this.

public JSONArray put (int index, double value)

Since: API Level 1

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.

public JSONArray put (double value)

Since: API Level 1

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.

public JSONArray put (int index, int value)

Since: API Level 1

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.

public JSONObject toJSONObject (JSONArray names)

Since: API Level 1

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.

public String toString ()

Since: API Level 1

Make an 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.

Returns
  • a printable, displayable, transmittable representation of the array.

public String toString (int indentFactor)

Since: API Level 1

Make a prettyprinted 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