The JsonGenerator is a base class that defines public API for writing JSON content. The instances are created using factory methods of a JsonFactory instance. Once we can get the JsonGenerator from factory instance then use the writeStartObject() for writing starting marker of a JSON Object value, writeFieldName() method for writing a field name, writeString() method for outputting a String value, writeStartArray() method for writing starting marker of a Array value and writeEndObject() method for writing closing marker of a JSON Object value.
Syntax
public abstract class JsonGenerator extends Object implements Closeable, Flushable, Versioned
Example
import java.io.*; import com.fasterxml.jackson.core.*; public class JsonGeneratorTest { public static void main(String args[]) throws IOException { JsonFactory factory = new JsonFactory(); StringWriter jsonObjectWriter = new StringWriter(); JsonGenerator generator = factory.createGenerator(jsonObjectWriter); generator.useDefaultPrettyPrinter(); // pretty print JSON generator.writeStartObject(); generator.writeFieldName("empid"); generator.writeString("120"); generator.writeFieldName("firstName"); generator.writeString("Ravi"); generator.writeFieldName("lastName"); generator.writeString("Chandra"); generator.writeFieldName("technologies"); generator.writeStartArray(); generator.writeString("SAP"); generator.writeString("Java"); generator.writeString("Selenium"); generator.writeEndArray(); generator.writeEndObject(); generator.close(); // to close the generator System.out.println(jsonObjectWriter.toString()); } }
Output
{ "empid" : "120", "firstName" : "Ravi", "lastName" : "Chandra", "technologies" : [ "SAP", "Java", "Selenium" ] }