json文字列とObjectオブジェクト間の変換
2252 ワード
Jacksonは、Javaオブジェクトを簡単にjsonオブジェクトとxmlドキュメントに変換したり、json、xmlをJavaオブジェクトに変換したりすることができます.機能が非常に強い!
1.mavenインポートjarパッケージ
これで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文字列に変換
しゅつりょく
Javaオブジェクトをjson文字列に変換して使いました
objectMapper.
writeValueAsString(object)という方法は、簡単で便利です.
3.objectMapper.readValue(byte[] src, Class valueType);json文字列をjavaオブジェクトに変換
objectMapperも使えます.readValue(String content, Class valueType);byte[]に変換すると、文字化けしなどを防ぐことができます.
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);
}
}