阅读 56

jackson处理json对象相关小结

jackson处理json对象相关小结 - jackyrong - ITeye技术网站

jackson处理json对象相关小结

    博客分类:
  • JAVA相关

javajson 

在解析JSON方面,无疑JACKSON是做的最好的,下面从几个方面简单复习下。



1 JAVA 对象转为JSON

 

  1. import java.io.File;  

  2. import java.io.IOException;  

  3. import org.codehaus.jackson.JsonGenerationException;  

  4. import org.codehaus.jackson.map.JsonMappingException;  

  5. import org.codehaus.jackson.map.ObjectMapper;  

  6.    

  7. public class JacksonExample {  

  8.     public static void main(String[] args) {  

  9.    

  10.     User user = new User();  

  11.     ObjectMapper mapper = new ObjectMapper();  

  12.    

  13.     try {  

  14.    

  15.         // convert user object to json string, and save to a file  

  16.         mapper.writeValue(new File("c:\\user.json"), user);  

  17.    

  18.         // display to console  

  19.         System.out.println(mapper.writeValueAsString(user));  

  20.    

  21.     } catch (JsonGenerationException e) {  

  22.    

  23.         e.printStackTrace();  

  24.    

  25.     } catch (JsonMappingException e) {  

  26.    

  27.         e.printStackTrace();  

  28.    

  29.     } catch (IOException e) {  

  30.    

  31.         e.printStackTrace();  

  32.    

  33.     }  

  34.    

  35.   }  

  36.    




输出为:

{"age":29,"messages":["msg 1","msg 2","msg 3"],"name":"mkyong"}





2 JSON反序列化为JAVA对象

  

  1. import java.io.File;  

  2. import java.io.IOException;  

  3. import org.codehaus.jackson.JsonGenerationException;  

  4. import org.codehaus.jackson.map.JsonMappingException;  

  5. import org.codehaus.jackson.map.ObjectMapper;  

  6.    

  7. public class JacksonExample {  

  8.     public static void main(String[] args) {  

  9.    

  10.     ObjectMapper mapper = new ObjectMapper();  

  11.    

  12.     try {  

  13.    

  14.         // read from file, convert it to user class  

  15.         User user = mapper.readValue(new File("c:\\user.json"), User.class);  

  16.    

  17.         // display to console  

  18.         System.out.println(user);  

  19.    

  20.     } catch (JsonGenerationException e) {  

  21.    

  22.         e.printStackTrace();  

  23.    

  24.     } catch (JsonMappingException e) {  

  25.    

  26.         e.printStackTrace();  

  27.    

  28.     } catch (IOException e) {  

  29.    

  30.         e.printStackTrace();  

  31.    

  32.     }  

  33.    

  34.   }  

  35.    


输出:User [age=29, name=mkyong, messages=[msg 1, msg 2, msg 3]]



3 在上面的例子中,如果要输出的JSON好看点,还是有办法的,就是使用

defaultPrettyPrintingWriter()方法,例子为:


  1. User user = new User();  

  2.   ObjectMapper mapper = new ObjectMapper();  

  3.   System.out.println(mapper.defaultPrettyPrintingWriter().writeValueAsString(user));  




则输出整齐:

{

  "age" : 29,

  "messages" : [ "msg 1", "msg 2", "msg 3" ],

  "name" : "mkyong"

}


文章分类
代码人生
版权声明:本站是系统测试站点,无实际运营。本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 XXXXXXo@163.com 举报,一经查实,本站将立刻删除。
相关推荐