org.apache.tapestry5.json
Class JSONArray

java.lang.Object
  extended by org.apache.tapestry5.json.JSONCollection
      extended by org.apache.tapestry5.json.JSONArray
All Implemented Interfaces:
Iterable<Object>

public final class JSONArray
extends JSONCollection
implements Iterable<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 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:


Constructor Summary
JSONArray()
          Construct an empty JSONArray.
JSONArray(Object... values)
           
JSONArray(String text)
           
 
Method Summary
 boolean equals(Object obj)
           
 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.
 Iterator<Object> iterator()
           
 int length()
          Get the number of elements in the JSONArray, included nulls.
 JSONArray put(int index, Object value)
          Put or replace an object value in the JSONArray.
 JSONArray put(Object value)
          Append an object value.
 Object remove(int index)
          Remove the object associated with the index.
 
Methods inherited from class org.apache.tapestry5.json.JSONCollection
prettyPrint, print, print, toCompactString, toString, toString
 
Methods inherited from class java.lang.Object
clone, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
 

Constructor Detail

JSONArray

public JSONArray()
Construct an empty JSONArray.


JSONArray

public JSONArray(String text)

JSONArray

public JSONArray(Object... values)
Method Detail

iterator

public Iterator<Object> iterator()
Specified by:
iterator in interface Iterable<Object>

get

public 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:
RuntimeException - If there is no value for the index.

remove

public Object remove(int index)
Remove the object associated with the index.

Parameters:
index - The index must be between 0 and length() - 1.
Returns:
An object removed.
Throws:
RuntimeException - 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:
RuntimeException - 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:
IllegalArgumentException - 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:
IllegalArgumentException - 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:
RuntimeException - 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:
RuntimeException - 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:
IllegalArgumentException - If the key is not found or if the value cannot be converted to a number.

getString

public 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:
RuntimeException - If there is no value for the index.

isNull

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

length

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

Returns:
The length (or size).

put

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

put

public JSONArray put(int index,
                     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, JSONString, Long, or String, or the JSONObject.NULL singeton.
Returns:
this array
Throws:
RuntimeException - If the index is negative or if the the value is an invalid number.

equals

public boolean equals(Object obj)
Overrides:
equals in class Object


Copyright © 2003-2012 The Apache Software Foundation.