Package net.sf.json

Class JSONArray

All Implemented Interfaces:
Serializable, Comparable, Iterable<Object>, Collection<Object>, List<Object>, JSON

public final class JSONArray extends AbstractJSON implements JSON, List<Object>, 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 having get and opt methods for accessing the values by index, and element 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:

  • 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.
See Also:
  • Field Details

    • elements

      private List<Object> elements
      The List where the JSONArray's properties are kept.
    • expandElements

      private boolean expandElements
      A flag for XML processing.
  • Constructor Details

    • JSONArray

      public JSONArray()
      Construct an empty JSONArray.
  • Method Details

    • fromObject

      public static JSONArray fromObject(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(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 Class[] getCollectionType(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 Object toArray(JSONArray jsonArray)
      Creates a java array from a JSONArray.
    • toArray

      public static Object toArray(JSONArray jsonArray, Class objectClass)
      Creates a java array from a JSONArray.
    • toArray

      public static Object toArray(JSONArray jsonArray, Class objectClass, 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 Object toArray(JSONArray jsonArray, JsonConfig jsonConfig)
      Creates a java array from a JSONArray.
    • toArray

      public static Object toArray(JSONArray jsonArray, Object root, JsonConfig jsonConfig)
      Creates a java array from a JSONArray.
    • toCollection

      public static Collection toCollection(JSONArray jsonArray)
      Returns a List or a Set taking generics into account.
    • toCollection

      public static Collection toCollection(JSONArray jsonArray, Class objectClass)
      Returns a List or a Set taking generics into account.
    • toCollection

      public static Collection toCollection(JSONArray jsonArray, JsonConfig jsonConfig)
      Returns a List or a Set taking generics into account.
      Contributed by [Matt Small @ WaveMaker].
    • toList

      public static List toList(JSONArray jsonArray)
      Deprecated.
      replaced by toCollection
      Creates a List from a JSONArray.
      See Also:
    • toList

      public static List toList(JSONArray jsonArray, Class objectClass)
      Deprecated.
      replaced by toCollection
      Creates a List from a JSONArray.
      See Also:
    • toList

      public static List toList(JSONArray jsonArray, Class objectClass, Map classMap)
      Deprecated.
      replaced by toCollection
      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:
      • 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 List toList(JSONArray jsonArray, JsonConfig jsonConfig)
      Deprecated.
      replaced by toCollection
      Creates a List from a JSONArray.
      See Also:
    • toList

      public static List toList(JSONArray jsonArray, Object root, JsonConfig jsonConfig)
      Creates a List from a JSONArray.
    • _fromArray

      private static JSONArray _fromArray(boolean[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an boolean[].
      Parameters:
      array - An boolean[] array.
    • _fromArray

      private static JSONArray _fromArray(byte[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an byte[].
      Parameters:
      array - An byte[] array.
    • _fromArray

      private static JSONArray _fromArray(char[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an char[].
      Parameters:
      array - An char[] array.
    • _fromArray

      private static JSONArray _fromArray(double[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an double[].
      Parameters:
      array - An double[] array.
    • _fromArray

      private static JSONArray _fromArray(Enum e, JsonConfig jsonConfig)
      Construct a JSONArray from an Enum value.
      Parameters:
      e - A enum value.
      Throws:
      JSONException - If there is a syntax error.
    • _fromArray

      private static JSONArray _fromArray(float[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an float[].
      Parameters:
      array - An float[] array.
    • _fromArray

      private static JSONArray _fromArray(int[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an int[].
      Parameters:
      array - An int[] array.
    • _fromArray

      private static JSONArray _fromArray(long[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an long[].
      Parameters:
      array - An long[] array.
    • _fromArray

      private static JSONArray _fromArray(Object[] array, JsonConfig jsonConfig)
    • _fromArray

      private static JSONArray _fromArray(short[] array, JsonConfig jsonConfig)
      Construct a JSONArray from an short[].
      Parameters:
      array - An short[] array.
    • _fromCollection

      private static JSONArray _fromCollection(Collection collection, JsonConfig jsonConfig)
    • _fromJSONArray

      private static JSONArray _fromJSONArray(JSONArray array, JsonConfig jsonConfig)
    • _fromJSONString

      private static JSONArray _fromJSONString(JSONString string, JsonConfig jsonConfig)
    • _fromJSONTokener

      private static JSONArray _fromJSONTokener(JSONTokener tokener, JsonConfig jsonConfig)
    • _fromString

      private static JSONArray _fromString(String string, JsonConfig jsonConfig)
    • processArrayDimensions

      private static void processArrayDimensions(JSONArray jsonArray, List dims, int index)
    • add

      public void add(int index, Object value)
      Specified by:
      add in interface List<Object>
    • add

      public void add(int index, Object value, JsonConfig jsonConfig)
    • add

      public boolean add(Object value)
      Specified by:
      add in interface Collection<Object>
      Specified by:
      add in interface List<Object>
    • add

      public boolean add(Object value, JsonConfig jsonConfig)
    • addAll

      public boolean addAll(Collection collection)
      Specified by:
      addAll in interface Collection<Object>
      Specified by:
      addAll in interface List<Object>
    • addAll

      public boolean addAll(Collection collection, JsonConfig jsonConfig)
    • addAll

      public boolean addAll(int index, Collection collection)
      Specified by:
      addAll in interface List<Object>
    • addAll

      public boolean addAll(int index, Collection collection, JsonConfig jsonConfig)
    • clear

      public void clear()
      Specified by:
      clear in interface Collection<Object>
      Specified by:
      clear in interface List<Object>
    • compareTo

      public int compareTo(Object obj)
      Specified by:
      compareTo in interface Comparable
    • contains

      public boolean contains(Object o)
      Specified by:
      contains in interface Collection<Object>
      Specified by:
      contains in interface List<Object>
    • contains

      public boolean contains(Object o, JsonConfig jsonConfig)
    • containsAll

      public boolean containsAll(Collection collection)
      Specified by:
      containsAll in interface Collection<Object>
      Specified by:
      containsAll in interface List<Object>
    • containsAll

      public boolean containsAll(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(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(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(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, 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, 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, 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, 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, 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, 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, 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, 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(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(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(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(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(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(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(Object obj)
      Specified by:
      equals in interface Collection<Object>
      Specified by:
      equals in interface List<Object>
      Overrides:
      equals in class Object
    • get

      public Object get(int index)
      Get the object value associated with an index.
      Specified by:
      get in interface List<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 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 interface Collection<Object>
      Specified by:
      hashCode in interface List<Object>
      Overrides:
      hashCode in class Object
    • indexOf

      public int indexOf(Object o)
      Specified by:
      indexOf in interface List<Object>
    • isArray

      public boolean isArray()
      Description copied from interface: JSON
      Returns true if this object is a JSONArray, false otherwise.
      Specified by:
      isArray in interface JSON
    • isEmpty

      public boolean isEmpty()
      Description copied from interface: JSON
      Returns true if this object has no elements or keys.
      Specified by:
      isEmpty in interface Collection<Object>
      Specified by:
      isEmpty in interface JSON
      Specified by:
      isEmpty in interface List<Object>
    • isExpandElements

      public boolean isExpandElements()
    • iterator

      public Iterator iterator()
      Returns an Iterator for this JSONArray
      Specified by:
      iterator in interface Collection<Object>
      Specified by:
      iterator in interface Iterable<Object>
      Specified by:
      iterator in interface List<Object>
    • join

      public String join(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.
    • join

      public String join(String separator, boolean stripQuotes)
      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.
    • lastIndexOf

      public int lastIndexOf(Object o)
      Specified by:
      lastIndexOf in interface List<Object>
    • listIterator

      public ListIterator listIterator()
      Specified by:
      listIterator in interface List<Object>
    • listIterator

      public ListIterator listIterator(int index)
      Specified by:
      listIterator in interface List<Object>
    • opt

      public 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 - 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 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 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 String optString(int index, 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 Object remove(int index)
      Specified by:
      remove in interface List<Object>
    • remove

      public boolean remove(Object o)
      Specified by:
      remove in interface Collection<Object>
      Specified by:
      remove in interface List<Object>
    • removeAll

      public boolean removeAll(Collection collection)
      Specified by:
      removeAll in interface Collection<Object>
      Specified by:
      removeAll in interface List<Object>
    • removeAll

      public boolean removeAll(Collection collection, JsonConfig jsonConfig)
    • retainAll

      public boolean retainAll(Collection collection)
      Specified by:
      retainAll in interface Collection<Object>
      Specified by:
      retainAll in interface List<Object>
    • retainAll

      public boolean retainAll(Collection collection, JsonConfig jsonConfig)
    • set

      public Object set(int index, Object value)
      Specified by:
      set in interface List<Object>
    • set

      public Object set(int index, Object value, JsonConfig jsonConfig)
    • setExpandElements

      public void setExpandElements(boolean expandElements)
    • size

      public int size()
      Get the number of elements in the JSONArray, included nulls.
      Specified by:
      size in interface Collection<Object>
      Specified by:
      size in interface JSON
      Specified by:
      size in interface List<Object>
      Returns:
      The length (or size).
    • subList

      public List subList(int fromIndex, int toIndex)
      Specified by:
      subList in interface List<Object>
    • toArray

      public Object[] toArray()
      Produce an Object[] with the contents of this JSONArray.
      Specified by:
      toArray in interface Collection<Object>
      Specified by:
      toArray in interface List<Object>
    • toArray

      public Object[] toArray(Object[] array)
      Specified by:
      toArray in interface Collection<Object>
      Specified by:
      toArray in interface List<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 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 Object
      Returns:
      a printable, displayable, transmittable representation of the array.
    • toString

      public 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 interface JSON
      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 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 interface JSON
      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(Writer writer, AbstractJSON.WritingVisitor visitor) throws IOException
      Specified by:
      write in class AbstractJSON
      Throws:
      IOException
    • addString

      protected JSONArray addString(String str)
      Adds a String without performing any conversion on it.
    • _addValue

      private JSONArray _addValue(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.
    • _processValue

      protected Object _processValue(Object value, JsonConfig jsonConfig)
      Overrides:
      _processValue in class AbstractJSON
    • addValue

      private JSONArray addValue(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.
    • processValue

      private Object processValue(Object value, JsonConfig jsonConfig)