相比json-lib框架,Jackson所依赖的jar包较少,简单易用并且性能也要相对高些。而且Jackson社区相对比较活跃,更新速度也比较快。

准备工作:

下载依赖库jar包

Jackson的jar all下载地址:http://jackson.codehaus.org/1.7.6/jackson-all-1.7.6.jar

然后在工程中导入这个jar包即可开始工作

如果你需要转换xml,那么还需要stax2-api.jar

Student类:

    
    
    
    
  1. package com.edu.test;  
  2. public class Student {  
  3.     private String name;  
  4.     private int age;  
  5.     public String getName() {  
  6.         return name;  
  7.     }  
  8.     public void setName(String name) {  
  9.         this.name = name;  
  10.     }  
  11.     public int getAge() {  
  12.         return age;  
  13.     }  
  14.     public void setAge(int age) {  
  15.         this.age = age;  
  16.     }     

一、Java对象转换成JSON

   
   
   
   
  1. package com.edu.test;  
  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 test {  
  8.     public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException {  
  9.         Student s=new Student();  
  10.         s.setAge(22);  
  11.         s.setName("rose");  
  12.         ObjectMapper mapper=new ObjectMapper();  
  13.         mapper.writeValue(System.out, s);  
  14.     }  

运行结果如下:

{"age":22,"name":"rose"}

二、JSON转换成Java对象

   
   
   
   
  1. package com.edu.test;  
  2.  
  3. import java.io.IOException;  
  4. import org.codehaus.jackson.JsonParseException;  
  5. import org.codehaus.jackson.map.JsonMappingException;  
  6. import org.codehaus.jackson.map.ObjectMapper;  
  7.  
  8. public class Test1 {  
  9.     public static void main(String[] args) throws JsonParseException, JsonMappingException, IOException {  
  10.         String str="{\"name\":\"leilei\",\"age\":23}";    
  11.         ObjectMapper objectMapper=new ObjectMapper();  
  12.         Student stu = objectMapper.readValue(str, Student.class);  
  13.         System.out.println(stu.getName());  
  14.     }     
运行结果:
leilei
JSON还可以与XML、List、Map进行互换,详细解析参考:http://www.cnblogs.com/hoojo/archive/2011/04/22/2024628.html