Package jakarta.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 Summary

    Modifier and Type
    Method
    Description
    void
    Closes this reader and frees any resources associated with the reader.
    Returns a JSON array or object that is represented in the input source.
    Returns a JSON array that is represented in the input source.
    Returns a JSON object that is represented in the input source.
    default JsonValue
    Returns a JSON value that is represented in the input source.
  • Method Details

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