Package javax.json

Interface JsonArray

All Superinterfaces:
Collection<JsonValue>, Iterable<JsonValue>, JsonStructure, JsonValue, List<JsonValue>, SequencedCollection<JsonValue>

public interface JsonArray extends JsonStructure, List<JsonValue>
A JsonArray e.g.
 [1,5,8]
 
or
  [
   {"name":"karl", "age": 38},
   {"name":"sue", "age": 42},
  ]
 
  • Method Details

    • getJsonObject

      JsonObject getJsonObject(int index)
      Returns:
      the JsonObject at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to the JsonObject
    • getJsonArray

      JsonArray getJsonArray(int index)
      Returns:
      the JsonArray at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to the JsonArray
    • getJsonNumber

      JsonNumber getJsonNumber(int index)
      Returns:
      the JsonNumber at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to the JsonNumber
    • getJsonString

      JsonString getJsonString(int index)
      Returns:
      the JsonString at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to the JsonString
    • getValuesAs

      <T extends JsonValue> List<T> getValuesAs(Class<T> clazz)
      Returns:
      the respective JsonValue at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to the given slazz
    • getValuesAs

      default <T, K extends JsonValue> List<T> getValuesAs(Function<K,T> func)
      Returns a list for the array. The value and the type of the elements in the list is specified by the func argument.

      This method can be used to obtain a list of the unwrapped types, such as

      
           List<String> strings = ary1.getValuesAs(JsonString::getString);
           List<Integer> ints = ary2.getValuesAs(JsonNumber::intValue);
        
      It can also be used to obtain a list of simple projections, such as
       
           Lsit<Integer> stringsizes = arr.getValueAs((JsonString v) -> v.getString().length();
        
      Type Parameters:
      T - The element type of the returned List
      K - The element type (must be a subtype of JsonValue) of this JsonArray.
      Parameters:
      func - The function that maps the elements of this JsonArray to the target elements.
      Returns:
      A List of the specified values and type.
      Throws:
      ClassCastException - if the JsonArray contains a value of wrong type
    • getString

      String getString(int index)
      Returns:
      the native String at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to a String
    • getString

      String getString(int index, String defaultValue)
      Returns:
      the native String at the given position or the defaultValue if null
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to a String
    • getInt

      int getInt(int index)
      Returns:
      the native int value at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to an int
      NullPointerException - if an object with the given name doesn't exist
    • getInt

      int getInt(int index, int defaultValue)
      Returns:
      the native int value at the given position or the defaultValue if null
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to an int
    • getBoolean

      boolean getBoolean(int index)
      Returns:
      the native boolean value at the given position
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to a boolean
      NullPointerException - if an object with the given name doesn't exist
    • getBoolean

      boolean getBoolean(int index, boolean defaultValue)
      Returns:
      the native boolean value at the given position or the defaultValue if null
      Throws:
      IndexOutOfBoundsException - if the index is out of range
      ClassCastException - if the value at the specified position is not assignable to a boolean
    • isNull

      boolean isNull(int index)
      Returns:
      whether the value at the given position is JsonValue.NULL.
      Throws:
      IndexOutOfBoundsException - if the index is out of range