Package jakarta.json
Interface JsonReader
- All Superinterfaces:
AutoCloseable
,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 TypeMethodDescriptionvoid
close()
Closes this reader and frees any resources associated with the reader.read()
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
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 representationIllegalStateException
- 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 representationIllegalStateException
- 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 representationIllegalStateException
- if read, readObject, readArray, readValue or close method is already called
-
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 representationIllegalStateException
- 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 interfaceAutoCloseable
- Specified by:
close
in interfaceCloseable
- Throws:
JsonException
- if an i/o error occurs (IOException would be cause of JsonException)
-