我们如何在Java中使用JsonGenerator创建JSON?
该JsonGenerator 是一个基类,定义了公共API编写JSON内容。实例是使用JsonFactory 实例的工厂方法创建的。一旦可以从工厂实例中获取JsonGenerator ,则可以使用writeStartObject() 编写JSON对象值的开始标记, writeFieldName() 方法编写字段名称,writeString()方法输出字符串值,writeStartArray()方法用于编写Array值的开始标记和writeEndObject()方法以编写JSONObject值的结束标记。
语法
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" ] }