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(...);

  Author:
    Jitendra Kotamraju

- - ### Method Summary

    Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `close()` Closes this reader and frees any resources associated with the reader.
    `JsonStructure` | `read()` Returns a JSON array or object that is represented in the input source.
    `JsonArray` | `readArray()` Returns a JSON array that is represented in the input source.
    `JsonObject` | `readObject()` Returns a JSON object that is represented in the input source.

- - ### 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 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 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 or close method is already called

    - #### 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)

Copyright © 1996-2013, Oracle and/or its affiliates. All Rights Reserved. Use is subject to license terms.