第一句子网 - 唯美句子、句子迷、好句子大全
第一句子网 > Jackson JsonGenerator类

Jackson JsonGenerator类

时间:2019-10-16 09:42:11

相关推荐

Jackson JsonGenerator类

介绍JsonGenerator之前,首先简要说下Jackson。

Jackson常用的类:

JsonFactory:这个类是Jackson主要的工厂方法,主要用于配置和构建解析器(JsonParser)和生成器(如JsonGenerator),这个工厂实例是线程安全的,如果有配置的话,可以重复使用。JsonGenerator:这个类主要是用来生成Json格式的内容的,我们可以使用JsonFactory 的方法生成一个实例。JsonParser:这个主要是用来读取Json格式的内容,并且完成解析操作的,我们可以使用JsonFactory的方法生成一个实例。ObjectMapper:这个类提供了Java对象和Json之间的转化,主要通过JsonParser和JsonGenerator实例来完成实际的对Json数据的读写操作。

JsonGenerator类

JsonGenerator是定义公共API编写的Json内容的基类,使用JsonFactory实例的工厂方法创建实例。

JsonGenerator的使用案例如下所示:

package test;import java.io.ByteArrayOutputStream;import java.io.IOException;import java.io.PrintWriter;import org.codehaus.jackson.JsonGenerationException;import org.codehaus.jackson.JsonGenerator;import org.codehaus.jackson.map.ObjectMapper;public class JsonGeneratorTest {public static void main(String[] args) throws JsonGenerationException, IOException {String ret = "";ByteArrayOutputStream bos = new ByteArrayOutputStream();ObjectMapper mapper = new ObjectMapper();JsonGenerator jg = mapper.getJsonFactory().createJsonGenerator(new PrintWriter(bos));jg.writeStartObject();jg.writeStringField("name", "zhaokaiqiang");jg.writeNumberField("age", 22);jg.writeObjectField("sex", "man");jg.writeArrayFieldStart("likes");jg.writeString("apple");jg.writeString("banner");jg.writeStartObject();jg.writeNumberField("index",1);jg.writeStringField("color","red");jg.writeEndObject();jg.writeStartObject();jg.writeNumberField("index",2);jg.writeStringField("color","green");jg.writeEndObject();jg.writeEndArray();jg.writeEndObject();jg.flush();jg.close();ret = bos.toString();bos.close();System.out.println(ret);}}

运行代码输出结果如下图所示:

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。