1、引入jackson依賴
<properties> <jackson.version>1.9.13</jackson.version> </properties> <dependencies> <!-- json和bean之間相互轉換 --> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-core-asl</artifactId> <version>${jackson.version}</version> </dependency> <dependency> <groupId>org.codehaus.jackson</groupId> <artifactId>jackson-mapper-asl</artifactId> <version>${jackson.version}</version> </dependency> </dependencies>
2、具體使用步驟
①、創建org.codehaus.jackson.map,ObjectMapper對象
②、調用ObjectMapper的writerValueAsString 方法把Java對象或集合轉為JSON字符串
3、Demo
import org.codehaus.jackson.JsonGenerationException; import org.codehaus.jackson.annotate.JsonIgnore; import org.codehaus.jackson.map.JsonMappingException; import org.codehaus.jackson.map.ObjectMapper; import java.io.IOException; import java.util.Arrays; import java.util.List; public class Customer { private String name; private String id; public String getName() { return name; } public void setName(String name) { this.name = name; } public String getId() { return id; } public void setId(String id) { this.id = id; } public Customer(String name, String id) { super(); this.name = name; this.id = id; } public String getCity(){ return "beijing"; } @JsonIgnore public String getBirthday(){ return "1980-12-12"; } public static void main(String[] args) throws JsonGenerationException, JsonMappingException, IOException { //1.導入jar包 //2.創建objectmappter對象 ObjectMapper mapper=new ObjectMapper(); //3.調用mapper的writeValueAsString()方法把一個對象或集合轉為json字符串 Customer customer=new Customer("aaa", "333"); String jsonStr=mapper.writeValueAsString(customer); System.out.println(jsonStr); //4.注意:jackson使用getter方法來定位json對象的屬性 //5.可以通過添加注解JsonIgnore忽略某一個getter定義的屬性 List<Customer> customers=Arrays.asList(customer,new Customer("bb", "213")); jsonStr=mapper.writeValueAsString(customers); System.out.println(jsonStr); } }
控制台結果
{"name":"aaa","id":"333","city":"beijing"}
[{"name":"aaa","id":"333","city":"beijing"},{"name":"bb","id":"213","city":"beijing"}]
4、注意點
①、JackSon 根據getter 來定位Json 對象的屬性,而不是字段
②、可以在類的getter方法上添加注解:
org.codehaus.jackson.annotate.JsonIgnore
在轉為Json對象是以忽略該屬性
