Package javax.json

Interface JsonReader

  • All Superinterfaces:
    AutoCloseable, Closeable

    public interface JsonReader
    extends Closeable
    Reads a JSON object or an array structure from an input source.

    The class Json contains methods to create readers from input sources (InputStream and Reader).

    The following example demonstrates how to read an empty JSON array from a string:

     
     JsonReader jsonReader = Json.createReader(new StringReader("[]"));
     JsonArray array = jsonReader.readArray();
     jsonReader.close();
     
     

    The class JsonReaderFactory also contains methods to create JsonReader instances. A factory instance can be used to create multiple reader instances with the same configuration. This the preferred way to create multiple instances. A sample usage is shown in the following example:

     
     JsonReaderFactory factory = Json.createReaderFactory(config);
     JsonReader reader1 = factory.createReader(...);
     JsonReader reader2 = factory.createReader(...);
     
     
    • Method Detail

      • read

        JsonStructure read()
        Returns a JSON array or object that is represented in the input source. This method needs to be called only once for a reader instance.
        Returns:
        a JSON object or array
        Throws:
        JsonException - if a JSON object or array cannot be created due to i/o error (IOException would be cause of JsonException)
        JsonParsingException - if a JSON object or array cannot be created due to incorrect representation
        IllegalStateException - if read, readObject, readArray, readValue or close method is already called
      • readObject

        JsonObject readObject()
        Returns a JSON object that is represented in the input source. This method needs to be called only once for a reader instance.
        Returns:
        a JSON object
        Throws:
        JsonException - if a JSON object cannot be created due to i/o error (IOException would be cause of JsonException)
        JsonParsingException - if a JSON object cannot be created due to incorrect representation
        IllegalStateException - if read, readObject, readArray, readValue or close method is already called
      • readArray

        JsonArray readArray()
        Returns a JSON array that is represented in the input source. This method needs to be called only once for a reader instance.
        Returns:
        a JSON array
        Throws:
        JsonException - if a JSON array cannot be created due to i/o error (IOException would be cause of JsonException)
        JsonParsingException - if a JSON array cannot be created due to incorrect representation
        IllegalStateException - if read, readObject, readArray, readValue or close method is already called
      • readValue

        default JsonValue readValue()
        Returns a JSON value that is represented in the input source. This method needs to be called only once for a reader instance.
        Returns:
        a JSON value
        Throws:
        JsonException - if a JSON value be created due to i/o error (IOException would be cause of JsonException)
        JsonParsingException - if a JSON value cannot be created due to incorrect representation
        IllegalStateException - if read, readObject, readArray, readValue or close method is already called
        Since:
        1.1
      • close

        void close()
        Closes this reader and frees any resources associated with the reader. This method closes the underlying input source.
        Specified by:
        close in interface AutoCloseable
        Specified by:
        close in interface Closeable
        Throws:
        JsonException - if an i/o error occurs (IOException would be cause of JsonException)