jackson 读文件生成object 写object到json文件

来源:互联网 发布:qq飞车光芒数据 编辑:程序博客网 时间:2024/05/21 09:07
<span style="font-size:24px;">package jiba.jacks;import java.io.File;import java.io.IOException;import org.junit.After;import org.junit.Before;import org.junit.Test;import com.fasterxml.jackson.core.JsonEncoding;import com.fasterxml.jackson.core.JsonFactory;import com.fasterxml.jackson.core.JsonGenerator;import com.fasterxml.jackson.databind.ObjectMapper;public class JacksonTest {private JsonGenerator jsonGenerator = null;    private ObjectMapper objectMapper = null;    private AccountBean bean = null;    File fl = new File("F:\\javadata\\think-in-java\\src\\user.json");    JsonFactory factory = new JsonFactory();    @Before    public void init() throws IOException {        bean = new AccountBean();        bean.setAddress("china-Guangzhou");        bean.setEmail("hoojo_@126.com");        bean.setId(1);        bean.setName("hoojo");                objectMapper = new ObjectMapper();        factory.setCodec(objectMapper);        jsonGenerator = factory.createGenerator(fl, JsonEncoding.UTF8);    }    @Test    public void writeEntityJSON() throws Exception{    jsonGenerator.useDefaultPrettyPrinter();    jsonGenerator.writeObject(bean);    /*jsonGenerator.useDefaultPrettyPrinter();    jsonGenerator.writeStartObject();//开始写入json格式的字符串此语句相当于:"{"        jsonGenerator.writeFieldName("name");//相当于key为"name"    jsonGenerator.writeString("Nacey");//相当于value为"Nacey"    jsonGenerator.writeStringField("sex", "male"); //方法同上//"sex":"male"        jsonGenerator.writeArrayFieldStart("Address"); //创建一个数组类似:Address:[    jsonGenerator.writeString("tel");    jsonGenerator.writeString("1555122120");    jsonGenerator.writeEndArray();        jsonGenerator.writeEndObject();//结束json对象    jsonGenerator.close(); */     AccountBean be = objectMapper.readValue(fl, AccountBean.class);      System.out.println(be.getAddress());    }        @After    public void destory() {        try {            if (jsonGenerator != null) {                jsonGenerator.flush();            }            objectMapper = null;            bean = null;            System.gc();        } catch (IOException e) {            e.printStackTrace();        }    }}</span>

0 0