Interface JsonGenerator

All Superinterfaces:
AutoCloseable
All Known Implementing Classes:
JsonGeneratorBase

public interface JsonGenerator extends AutoCloseable
A JSON generator interface for writing JSON data.

This interface provides methods to generate JSON content in a streaming fashion, allowing for efficient writing of large JSON documents without building the entire content in memory first. It supports writing to output streams and writers with automatic JSON formatting.

The generator provides fluent method chaining for building JSON structures and handles proper JSON syntax including quotes, commas, and brackets.

This module is incubating. These APIs may change in any version of Helidon, including backward incompatible changes.

  • Method Details

    • create

      static JsonGenerator create(OutputStream outputStream)
      Create a JsonGenerator instance to write to the provided OutputStream.
      Parameters:
      outputStream - output stream to write to
      Returns:
      new Generator instance
    • create

      static JsonGenerator create(Writer writer)
      Create a JsonGenerator instance to write to the provided Writer.
      Parameters:
      writer - writer to write to
      Returns:
      new Generator instance
    • writeKey

      JsonGenerator writeKey(String key)
      Write a key value to the output stream.

      Each key will be automatically enclosed with quotes and a colon appended "key":. This method is used for writing JSON object keys.

      Parameters:
      key - the key value to write
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, String value)
      Write a key-value pair with a string value.
      Parameters:
      key - the key
      value - the string value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, int value)
      Write a key-value pair with an int value.
      Parameters:
      key - the key
      value - the int value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, long value)
      Write a key-value pair with a long value.
      Parameters:
      key - the key
      value - the long value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, float value)
      Write a key-value pair with a float value.
      Parameters:
      key - the key
      value - the float value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, double value)
      Write a key-value pair with a double value.
      Parameters:
      key - the key
      value - the double value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, boolean value)
      Write a key-value pair with a boolean value.
      Parameters:
      key - the key
      value - the boolean value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, char value)
      Write a key-value pair with a char value.
      Parameters:
      key - the key
      value - the char value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, BigDecimal value)
      Write a key-value pair with a BigDecimal value.
      Parameters:
      key - the key
      value - the decimal value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, BigInteger value)
      Write a key-value pair with a BigInteger value.
      Parameters:
      key - the key
      value - the big integer value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String key, JsonValue value)
      Write a key-value pair with a JsonValue.
      Parameters:
      key - the key
      value - the JsonValue
      Returns:
      this generator for method chaining
    • writeBinary

      JsonGenerator writeBinary(String key, byte[] value)
      Write a key-value pair with a value in a binary format.
      Parameters:
      key - the key
      value - the binary data value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(String value)
      Write a string value.
      Parameters:
      value - the string value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(byte value)
      Write a byte value.
      Parameters:
      value - the byte value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(short value)
      Write a short value.
      Parameters:
      value - the short value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(int value)
      Write an int value.
      Parameters:
      value - the int value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(long value)
      Write a long value.
      Parameters:
      value - the long value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(float value)
      Write a float value.
      Parameters:
      value - the float value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(double value)
      Write a double value.
      Parameters:
      value - the double value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(boolean value)
      Write a boolean value.
      Parameters:
      value - the boolean value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(char value)
      Write a char value.
      Parameters:
      value - the char value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(BigDecimal value)
      Write a BigDecimal value.
      Parameters:
      value - the decimal value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(BigInteger value)
      Write a BigInteger value.
      Parameters:
      value - the big integer value
      Returns:
      this generator for method chaining
    • write

      JsonGenerator write(JsonValue value)
      Write a JsonValue.
      Parameters:
      value - the JsonValue to write
      Returns:
      this generator for method chaining
    • writeBinary

      JsonGenerator writeBinary(byte[] value)
      Write a value in a binary format.
      Parameters:
      value - the binary data value
      Returns:
      this generator for method chaining
    • writeNull

      JsonGenerator writeNull()
      Write a null value.
      Returns:
      this generator for method chaining
    • writeArrayStart

      JsonGenerator writeArrayStart()
      Write the start of a JSON array.
      Returns:
      this generator for method chaining
    • writeArrayEnd

      JsonGenerator writeArrayEnd()
      Write the end of a JSON array.
      Returns:
      this generator for method chaining
    • writeObjectStart

      JsonGenerator writeObjectStart()
      Write the start of a JSON object.
      Returns:
      this generator for method chaining
    • writeObjectEnd

      JsonGenerator writeObjectEnd()
      Write the end of a JSON object.
      Returns:
      this generator for method chaining
    • close

      void close()
      This method does not close the stream it is writing to. It only performs final writing operations.
      Specified by:
      close in interface AutoCloseable