您的位置:首页 > 移动开发 > Objective-C

json字符串与Object对象间的转换

2017-03-13 15:58 453 查看
Jackson可以轻松的将Java对象转换成json对象和xml文档,同样也可以将json、xml转换成Java对象。功能非常的强悍!

1.maven导入jar包

<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.8.6</version>
</dependency>

这样就导入了jackson的三个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<T> valueType);把json字符串转换成java对象

也可以用objectMapper.readValue(String content, Class<T> 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);
}
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐