Package javax.json

Interface JsonReader

  • All Superinterfaces:
    java.lang.AutoCloseable, java.io.Closeable

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

    This is a near-exact copy of the same-titled Java EE 8 Class: javax.json.JsonReader
    Commenting has been slightly modified to accompany HiLiting the Code Examples.
    Java Source Code remains identical to the Sun-Oracle & 'GlassFish' Released Distributions.

    Read included License: HERE, and the CDDL+GPL-1.1
    All javax.json.* Code Obtained From: GitHub JavaEE jsonp  Public Archive.


    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
        java.lang.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
        java.lang.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
        java.lang.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
        java.lang.IllegalStateException - if read, readObject, readArray, readValue or close method is already called
        Since:
        1.1
        Code:
        Exact Method Body:
         throw new UnsupportedOperationException();
        
      • 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 java.lang.AutoCloseable
        Specified by:
        close in interface java.io.Closeable
        Throws:
        JsonException - if an i/o error occurs (IOException would be cause of JsonException)