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
methods for
adding or replacing values. The values can be any of these types:
.
The constructor can convert a JSON text into a Java object. The
toString
method converts to JSON text.
Method from org.apache.tomcat.util.json.JSONArray Detail: |
public Object get(int index) throws JSONException {
Object o = opt(index);
if (o == null) {
throw new JSONException("JSONArray[" + index + "] not found.");
}
return o;
}
Get the object value associated with an index. |
public boolean getBoolean(int index) throws JSONException {
Object o = get(index);
if (o.equals(Boolean.FALSE) ||
(o instanceof String &&
((String)o).equalsIgnoreCase("false"))) {
return false;
} else if (o.equals(Boolean.TRUE) ||
(o instanceof String &&
((String)o).equalsIgnoreCase("true"))) {
return true;
}
throw new JSONException("JSONArray[" + index + "] is not a Boolean.");
}
Get the boolean value associated with an index.
The string values "true" and "false" are converted to boolean. |
public double getDouble(int index) throws JSONException {
Object o = get(index);
try {
return o instanceof Number ?
((Number)o).doubleValue() :
Double.valueOf((String)o).doubleValue();
} catch (Exception e) {
throw new JSONException("JSONArray[" + index +
"] is not a number.");
}
}
Get the double value associated with an index. |
public int getInt(int index) throws JSONException {
Object o = get(index);
return o instanceof Number ?
((Number)o).intValue() : (int)getDouble(index);
}
Get the int value associated with an index. |
public JSONArray getJSONArray(int index) throws JSONException {
Object o = get(index);
if (o instanceof JSONArray) {
return (JSONArray)o;
}
throw new JSONException("JSONArray[" + index +
"] is not a JSONArray.");
}
Get the JSONArray associated with an index. |
public JSONObject getJSONObject(int index) throws JSONException {
Object o = get(index);
if (o instanceof JSONObject) {
return (JSONObject)o;
}
throw new JSONException("JSONArray[" + index +
"] is not a JSONObject.");
}
Get the JSONObject associated with an index. |
public long getLong(int index) throws JSONException {
Object o = get(index);
return o instanceof Number ?
((Number)o).longValue() : (long)getDouble(index);
}
Get the long value associated with an index. |
public String getString(int index) throws JSONException {
return get(index).toString();
}
Get the string associated with an index. |
public boolean isNull(int index) {
return JSONObject.NULL.equals(opt(index));
}
Determine if the value is null. |
public String join(String separator) throws JSONException {
int len = length();
StringBuffer sb = new StringBuffer();
for (int i = 0; i < len; i += 1) {
if (i > 0) {
sb.append(separator);
}
sb.append(JSONObject.valueToString(this.myArrayList.get(i)));
}
return sb.toString();
}
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. |
public int length() {
return this.myArrayList.size();
}
Get the number of elements in the JSONArray, included nulls. |
public Object opt(int index) {
return (index < 0 || index >= length()) ?
null : this.myArrayList.get(index);
}
Get the optional object value associated with an index. |
public boolean optBoolean(int index) {
return optBoolean(index, false);
}
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". |
public boolean optBoolean(int index,
boolean defaultValue) {
try {
return getBoolean(index);
} catch (Exception e) {
return 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). |
public double optDouble(int index) {
return optDouble(index, Double.NaN);
}
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. |
public double optDouble(int index,
double defaultValue) {
try {
return getDouble(index);
} catch (Exception e) {
return 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. |
public int optInt(int index) {
return optInt(index, 0);
}
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. |
public int optInt(int index,
int defaultValue) {
try {
return getInt(index);
} catch (Exception e) {
return 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. |
public JSONArray optJSONArray(int index) {
Object o = opt(index);
return o instanceof JSONArray ? (JSONArray)o : null;
}
Get the optional JSONArray associated with an index. |
public JSONObject optJSONObject(int index) {
Object o = opt(index);
return o instanceof JSONObject ? (JSONObject)o : null;
}
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. |
public long optLong(int index) {
return optLong(index, 0);
}
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. |
public long optLong(int index,
long defaultValue) {
try {
return getLong(index);
} catch (Exception e) {
return 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. |
public String optString(int index) {
return optString(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. |
public String optString(int index,
String defaultValue) {
Object o = opt(index);
return o != null ? o.toString() : defaultValue;
}
Get the optional string associated with an index.
The defaultValue is returned if the key is not found. |
public JSONArray put(boolean value) {
put(value ? Boolean.TRUE : Boolean.FALSE);
return this;
}
Append a boolean value. This increases the array's length by one. |
public JSONArray put(Collection value) {
put(new JSONArray(value));
return this;
}
Put a value in the JSONArray, where the value will be a
JSONArray which is produced from a Collection. |
public JSONArray put(double value) throws JSONException {
Double d = new Double(value);
JSONObject.testValidity(d);
put(d);
return this;
}
Append a double value. This increases the array's length by one. |
public JSONArray put(int value) {
put(new Integer(value));
return this;
}
Append an int value. This increases the array's length by one. |
public JSONArray put(long value) {
put(new Long(value));
return this;
}
Append an long value. This increases the array's length by one. |
public JSONArray put(Map value) {
put(new JSONObject(value));
return this;
}
Put a value in the JSONArray, where the value will be a
JSONObject which is produced from a Map. |
public JSONArray put(Object value) {
this.myArrayList.add(value);
return this;
}
Append an object value. This increases the array's length by one. |
public JSONArray put(int index,
boolean value) throws JSONException {
put(index, value ? Boolean.TRUE : Boolean.FALSE);
return this;
}
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. |
public JSONArray put(int index,
Collection value) throws JSONException {
put(index, new JSONArray(value));
return this;
}
Put a value in the JSONArray, where the value will be a
JSONArray which is produced from a Collection. |
public JSONArray put(int index,
double value) throws JSONException {
put(index, new Double(value));
return this;
}
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. |
public JSONArray put(int index,
int value) throws JSONException {
put(index, new Integer(value));
return this;
}
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. |
public JSONArray put(int index,
long value) throws JSONException {
put(index, new Long(value));
return this;
}
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. |
public JSONArray put(int index,
Map value) throws JSONException {
put(index, new JSONObject(value));
return this;
}
Put a value in the JSONArray, where the value will be a
JSONObject which is produced from a Map. |
public JSONArray put(int index,
Object value) throws JSONException {
JSONObject.testValidity(value);
if (index < 0) {
throw new JSONException("JSONArray[" + index + "] not found.");
}
if (index < length()) {
this.myArrayList.set(index, value);
} else {
while (index != length()) {
put(JSONObject.NULL);
}
put(value);
}
return this;
}
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. |
public JSONObject toJSONObject(JSONArray names) throws JSONException {
if (names == null || names.length() == 0 || length() == 0) {
return null;
}
JSONObject jo = new JSONObject();
for (int i = 0; i < names.length(); i += 1) {
jo.put(names.getString(i), this.opt(i));
}
return jo;
}
Produce a JSONObject by combining a JSONArray of names with the values
of this JSONArray. |
public String toString() {
try {
return '[' + join(",") + ']';
} catch (Exception e) {
return null;
}
}
|
public String toString(int indentFactor) throws JSONException {
return toString(indentFactor, 0);
}
Make a prettyprinted JSON text of this JSONArray.
Warning: This method assumes that the data structure is acyclical. |
String toString(int indentFactor,
int indent) throws JSONException {
int len = length();
if (len == 0) {
return "[]";
}
int i;
StringBuffer sb = new StringBuffer("[");
if (len == 1) {
sb.append(JSONObject.valueToString(this.myArrayList.get(0),
indentFactor, indent));
} else {
int newindent = indent + indentFactor;
sb.append('\n');
for (i = 0; i < len; i += 1) {
if (i > 0) {
sb.append(",\n");
}
for (int j = 0; j < newindent; j += 1) {
sb.append(' ');
}
sb.append(JSONObject.valueToString(this.myArrayList.get(i),
indentFactor, newindent));
}
sb.append('\n');
for (i = 0; i < indent; i += 1) {
sb.append(' ');
}
}
sb.append(']');
return sb.toString();
}
Make a prettyprinted JSON text of this JSONArray.
Warning: This method assumes that the data structure is acyclical. |
public Writer write(Writer writer) throws JSONException {
try {
boolean b = false;
int len = length();
writer.write('[');
for (int i = 0; i < len; i += 1) {
if (b) {
writer.write(',');
}
Object v = this.myArrayList.get(i);
if (v instanceof JSONObject) {
((JSONObject)v).write(writer);
} else if (v instanceof JSONArray) {
((JSONArray)v).write(writer);
} else {
writer.write(JSONObject.valueToString(v));
}
b = true;
}
writer.write(']');
return writer;
} catch (IOException e) {
throw new JSONException(e);
}
}
|