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