<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>