该JsonGenerator 是一个基类,定义了公共API编写JSON内容。实例是使用JsonFactory 实例的工厂方法创建的。一旦可以从工厂实例中获取JsonGenerator ,则可以使用writeStartObject() 编写JSON对象值的开始标记, writeFieldName() 方法编写字段名称,writeString()方法输出字符串值,writeStartArray()方法用于编写Array值的开始标记和writeEndObject()方法以编写JSON Object值的结束标记。
public abstract class JsonGenerator extends Object implements Closeable, Flushable, Versioned
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());
}
}输出结果
{
"empid" : "120",
"firstName" : "Ravi",
"lastName" : "Chandra",
"technologies" : [ "SAP", "Java", "Selenium" ]
}