Package jakarta.json

Interface JsonWriter

All Superinterfaces:
AutoCloseable, Closeable

public interface JsonWriter extends Closeable
Writes a JSON object or array structure to an output source.

The class Json contains methods to create writers from output sources (OutputStream and Writer).

The following example demonstrates how write an empty JSON object:

 
 JsonWriter jsonWriter = Json.createWriter(...);
 jsonWriter.writeObject(Json.createObjectBuilder().build());
 jsonWriter.close();
 
 

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

 
 JsonWriterFactory factory = Json.createWriterFactory(config);
 JsonWriter writer1 = factory.createWriter(...);
 JsonWriter writer2 = factory.createWriter(...);
 
 
  • Method Details

    • writeArray

      void writeArray(JsonArray array)
      Writes the specified JSON array to the output source. This method needs to be called only once for a writer instance.
      Parameters:
      array - JSON array that is to be written to the output source
      Throws:
      JsonException - if the specified JSON object cannot be written due to i/o error (IOException would be cause of JsonException)
      IllegalStateException - if writeArray, writeObject, write or close method is already called
    • writeObject

      void writeObject(JsonObject object)
      Writes the specified JSON object to the output source. This method needs to be called only once for a writer instance.
      Parameters:
      object - JSON object that is to be written to the output source
      Throws:
      JsonException - if the specified JSON object cannot be written due to i/o error (IOException would be cause of JsonException)
      IllegalStateException - if writeArray, writeObject, write or close method is already called
    • write

      void write(JsonStructure value)
      Writes the specified JSON object or array to the output source. This method needs to be called only once for a writer instance.
      Parameters:
      value - JSON array or object that is to be written to the output source
      Throws:
      JsonException - if the specified JSON object cannot be written due to i/o error (IOException would be cause of JsonException)
      IllegalStateException - if writeArray, writeObject, write or close method is already called
    • write

      default void write(JsonValue value)
      Writes the specified JsonValue to the output source. method needs to be called only once for a write instance.
      Parameters:
      value - a JsonValue to be written to the output source
      Throws:
      JsonException - if the specified JSON object cannot be written due to i/o error (IOException would be cause of JsonException)
      IllegalStateException - if writeArray, writeObject, write or close method is already called
      Since:
      1.1
    • close

      void close()
      Specified by:
      close in interface AutoCloseable
      Specified by:
      close in interface Closeable