json文字列とObjectオブジェクト間の変換

2252 ワード

Jacksonは、Javaオブジェクトを簡単にjsonオブジェクトとxmlドキュメントに変換したり、json、xmlをJavaオブジェクトに変換したりすることができます.機能が非常に強い!
1.mavenインポートjarパッケージ

	    com.fasterxml.jackson.core
	    jackson-databind
	    2.8.6

これでjacksonの3つのjarパッケージがインポートされました
jackson-databind-2.8.6.jar,jackson-core-2.8.6.jar,jackson-annotations-2.8.6.jar
2.objectMapper.writeValueAsString(object)、Objectオブジェクトをjson文字列に変換
/**
 * Object   json   
 * @author Administrator
 *
 */
public class Test1 {
	public static void main(String[] args) throws Exception{
		Student st = new Student();
		st.setAge("23");
		st.setName("Lucy");
		ObjectMapper mapper = new ObjectMapper();
		String aa = mapper.writeValueAsString(st);
		System.out.println(aa);
		
		Teacher t = new Teacher();
		t.setId("223");
		User u = new User();
		u.setId("33");
		u.setName("Mark");
		t.setUser(u);
		String b = mapper.writeValueAsString(t);
		System.out.println(b);
	}

しゅつりょく
{"name":"Lucy","age":"23"}
{"id":"223","user":{"id":"33","name":"Mark"}}

Javaオブジェクトをjson文字列に変換して使いました
objectMapper.
writeValueAsString(object)という方法は、簡単で便利です.
3.objectMapper.readValue(byte[] src, Class valueType);json文字列をjavaオブジェクトに変換
objectMapperも使えます.readValue(String content, Class valueType);byte[]に変換すると、文字化けしなどを防ぐことができます.
/**
 * json   Object     bean
 * @author Administrator
 *
 */
public class Test2 {

	public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {
		ObjectMapper ma = new ObjectMapper();
		String a = "{\"id\":\"223\",\"user\":{\"id\":\"33\",\"name\":\"Mark\"}}";
		Object o = ma.readValue(a, Object.class);
		System.out.println(o);
		String b = "{\"id\":\"223\",\"user\":{\"id\":\"33\",\"name\":\"   \"}}";
		Teacher th = ma.readValue(b.getBytes("UTF-8"), Teacher.class);
		System.out.println(th);
	}
}