net.sf.json
Class JSONArray

java.lang.Object
  extended by net.sf.json.JSONArray

public class JSONArray
extends java.lang.Object

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 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:

Version:
3
Author:
JSON.org

Constructor Summary
JSONArray()
          Construct an empty JSONArray.
JSONArray(boolean[] array)
          Construct a JSONArray from an boolean[].
JSONArray(byte[] array)
          Construct a JSONArray from an byte[].
JSONArray(char[] array)
          Construct a JSONArray from an char[].
JSONArray(java.util.Collection collection)
          Construct a JSONArray from a Collection.
JSONArray(double[] array)
          Construct a JSONArray from an double[].
JSONArray(float[] array)
          Construct a JSONArray from an float[].
JSONArray(int[] array)
          Construct a JSONArray from an int[].
JSONArray(JSONArray jsonArray)
          Construct a JSONArray from another JSONArray.
JSONArray(JSONTokener x)
          Construct a JSONArray from a JSONTokener.
JSONArray(long[] array)
          Construct a JSONArray from an long[].
JSONArray(java.lang.Object[] array)
          Construct a JSONArray from an Object[].
JSONArray(short[] array)
          Construct a JSONArray from an short[].
JSONArray(java.lang.String string)
          Construct a JSONArray from a source JSON text.
 
Method Summary
static JSONArray fromArray(java.lang.Object[] array)
          Creates a JSONArray from a java array.
static JSONArray fromCollection(java.util.Collection collection)
          Creates a JSONArray from a Collection.
static JSONArray fromJSONTokener(JSONTokener tokener)
          Creates a JSONArray from a JSONTokener.
static JSONArray fromObject(java.lang.Object object)
          Creates a JSONArray.
static JSONArray fromString(java.lang.String string)
          Constructs a JSONArray from a string in JSON format.
 java.lang.Object get(int index)
          Get the object value associated with an index.
 boolean getBoolean(int index)
          Get the boolean value associated with an index.
 double getDouble(int index)
          Get the double value associated with an index.
 int getInt(int index)
          Get the int value associated with an index.
 JSONArray getJSONArray(int index)
          Get the JSONArray associated with an index.
 JSONObject getJSONObject(int index)
          Get the JSONObject associated with an index.
 long getLong(int index)
          Get the long value associated with an index.
 java.lang.String getString(int index)
          Get the string associated with an index.
 boolean isEmpty()
           
 java.util.Iterator iterator()
          Returns an Iterator for this JSONArray
 java.lang.String join(java.lang.String separator)
          Make a string from the contents of this JSONArray.
 int length()
          Get the number of elements in the JSONArray, included nulls.
 java.lang.Object opt(int index)
          Get the optional object value associated with an index.
 boolean optBoolean(int index)
          Get the optional boolean value associated with an index.
 boolean optBoolean(int index, boolean defaultValue)
          Get the optional boolean value associated with an index.
 double optDouble(int index)
          Get the optional double value associated with an index.
 double optDouble(int index, double defaultValue)
          Get the optional double value associated with an index.
 int optInt(int index)
          Get the optional int value associated with an index.
 int optInt(int index, int defaultValue)
          Get the optional int value associated with an index.
 JSONArray optJSONArray(int index)
          Get the optional JSONArray associated with an index.
 JSONObject optJSONObject(int index)
          Get the optional JSONObject associated with an index.
 long optLong(int index)
          Get the optional long value associated with an index.
 long optLong(int index, long defaultValue)
          Get the optional long value associated with an index.
 java.lang.String optString(int index)
          Get the optional string value associated with an index.
 java.lang.String optString(int index, java.lang.String defaultValue)
          Get the optional string associated with an index.
 JSONArray put(boolean value)
          Append a boolean value.
 JSONArray put(java.util.Collection value)
          Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.
 JSONArray put(double value)
          Append a double value.
 JSONArray put(int value)
          Append an int value.
 JSONArray put(int index, boolean value)
          Put or replace a boolean value in the JSONArray.
 JSONArray put(int index, java.util.Collection value)
          Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.
 JSONArray put(int index, double value)
          Put or replace a double value.
 JSONArray put(int index, int value)
          Put or replace an int value.
 JSONArray put(int index, long value)
          Put or replace a long value.
 JSONArray put(int index, java.util.Map value)
          Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.
 JSONArray put(int index, java.lang.Object value)
          Put or replace an object value in the JSONArray.
 JSONArray put(long value)
          Append an long value.
 JSONArray put(java.util.Map value)
          Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.
 JSONArray put(java.lang.Object value)
          Append an object value.
 java.lang.Object[] toArray()
          Produce an Object[] with the contents of this JSONArray.
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.
 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)
          Creates a List from a JSONArray.
static java.util.List toList(JSONArray jsonArray, java.lang.Class objectClass)
          Creates a List from a JSONArray.
static java.util.List toList(JSONArray jsonArray, java.lang.Class objectClass, java.util.Map classMap)
          Creates a List from a JSONArray.
 java.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 of the JSONArray as JSON text to a writer.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JSONArray

public JSONArray()
Construct an empty JSONArray.


JSONArray

public JSONArray(boolean[] array)
Construct a JSONArray from an boolean[].

Parameters:
array - An boolean[] array.

JSONArray

public JSONArray(byte[] array)
Construct a JSONArray from an byte[].

Parameters:
array - An byte[] array.

JSONArray

public JSONArray(char[] array)
Construct a JSONArray from an char[].

Parameters:
array - An char[] array.

JSONArray

public JSONArray(java.util.Collection collection)
Construct a JSONArray from a Collection.

Parameters:
collection - A Collection.

JSONArray

public JSONArray(double[] array)
Construct a JSONArray from an double[].

Parameters:
array - An double[] array.

JSONArray

public JSONArray(float[] array)
Construct a JSONArray from an float[].

Parameters:
array - An float[] array.

JSONArray

public JSONArray(int[] array)
Construct a JSONArray from an int[].

Parameters:
array - An int[] array.

JSONArray

public JSONArray(JSONArray jsonArray)
Construct a JSONArray from another JSONArray.
This method will return a shallow copy of the input array.

Parameters:
jsonArray - A JSONArray.
Throws:
JSONException - If there is a syntax error.

JSONArray

public JSONArray(JSONTokener x)
Construct a JSONArray from a JSONTokener.

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

JSONArray

public JSONArray(long[] array)
Construct a JSONArray from an long[].

Parameters:
array - An long[] array.

JSONArray

public JSONArray(java.lang.Object[] array)
Construct a JSONArray from an Object[].
Assumes the object hierarchy is acyclical.

Parameters:
array - An Object[] array.

JSONArray

public JSONArray(short[] array)
Construct a JSONArray from an short[].

Parameters:
array - An short[] array.

JSONArray

public JSONArray(java.lang.String string)
Construct a JSONArray from a source JSON text.

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

fromArray

public static JSONArray fromArray(java.lang.Object[] array)
Creates a JSONArray from a java array.
The java array can be multidimensional.

Parameters:
array - A Java array

fromCollection

public static JSONArray fromCollection(java.util.Collection collection)
Creates a JSONArray from a Collection.
Its elements can be maps, POJOs, java arrays (primitive & object), collections.

Parameters:
collection - A collection

fromJSONTokener

public static JSONArray fromJSONTokener(JSONTokener tokener)
Creates a JSONArray from a JSONTokener.

Parameters:
tokenern - a JSONTokener

fromObject

public static JSONArray fromObject(java.lang.Object object)
Creates a JSONArray.
Inspects the object type to call the correct JSONArray factory method.


fromString

public static JSONArray fromString(java.lang.String string)
Constructs a JSONArray from a string in JSON format.

Parameters:
str - A string in JSON format

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:


toList

public static java.util.List toList(JSONArray jsonArray)
Creates a List from a JSONArray.


toList

public static java.util.List toList(JSONArray jsonArray,
                                    java.lang.Class objectClass)
Creates a List from a JSONArray.


toList

public static java.util.List toList(JSONArray jsonArray,
                                    java.lang.Class objectClass,
                                    java.util.Map classMap)
Creates 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:


get

public java.lang.Object get(int index)
Get the object value associated with an index.

Parameters:
index - The index must be between 0 and length() - 1.
Returns:
An object value.
Throws:
JSONException - If there is no value for the index.

getBoolean

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 length() - 1.
Returns:
The truth.
Throws:
JSONException - If there is no value for the index or if the value is not convertable to boolean.

getDouble

public double getDouble(int index)
Get the double value associated with an index.

Parameters:
index - The index must be between 0 and length() - 1.
Returns:
The value.
Throws:
JSONException - If the key is not found or if the value cannot be converted to a number.

getInt

public int getInt(int index)
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.

getJSONArray

public JSONArray getJSONArray(int index)
Get the JSONArray associated with an index.

Parameters:
index - The index must be between 0 and length() - 1.
Returns:
A JSONArray value.
Throws:
JSONException - If there is no value for the index. or if the value is not a JSONArray

getJSONObject

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 length() - 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 length() - 1.
Returns:
A string value.
Throws:
JSONException - If there is no value for the index.

isEmpty

public boolean isEmpty()

iterator

public java.util.Iterator iterator()
Returns an Iterator for this JSONArray


join

public java.lang.String join(java.lang.String separator)
Make a string from the contents of this JSONArray. The separator string is inserted between each element. Warning: This method assumes that the data structure is acyclical.

Parameters:
separator - A string that will be inserted between the elements.
Returns:
a string.
Throws:
JSONException - If the array contains an invalid number.

length

public int length()
Get the number of elements in the JSONArray, included nulls.

Returns:
The length (or size).

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

put

public JSONArray put(boolean value)
Append a boolean value. This increases the array's length by one.

Parameters:
value - A boolean value.
Returns:
this.

put

public JSONArray put(java.util.Collection value)
Put a value in the JSONArray, where the value will be a JSONArray which is produced from a Collection.

Parameters:
value - A Collection value.
Returns:
this.

put

public JSONArray put(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.

put

public JSONArray put(int value)
Append an int value. This increases the array's length by one.

Parameters:
value - An int value.
Returns:
this.

put

public JSONArray put(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.

put

public JSONArray put(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.

put

public JSONArray put(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.

put

public JSONArray put(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.

put

public JSONArray put(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.

put

public JSONArray put(int index,
                     java.util.Map value)
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.

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.

put

public JSONArray put(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 - The value to put into the array. The value should be a Boolean, Double, Integer, JSONArray, JSONObject, Long, or String, or the JSONObject.NULL object.
Returns:
this.
Throws:
JSONException - If the index is negative or if the the value is an invalid number.

put

public JSONArray put(long value)
Append an long value. This increases the array's length by one.

Parameters:
value - A long value.
Returns:
this.

put

public JSONArray put(java.util.Map value)
Put a value in the JSONArray, where the value will be a JSONObject which is produced from a Map.

Parameters:
value - A Map value.
Returns:
this.

put

public JSONArray put(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, or String, or the JSONObject.NULL object.
Returns:
this.

toArray

public java.lang.Object[] toArray()
Produce an Object[] with the contents of this JSONArray.


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 class java.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.

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.

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

public java.io.Writer write(java.io.Writer writer)
Write the contents of the JSONArray as JSON text to a writer. For compactness, no whitespace is added.

Warning: This method assumes that the data structure is acyclical.

Returns:
The writer.
Throws:
JSONException


Copyright © 2006 null. All Rights Reserved.