Java 用Jackson進行json和object之間的轉換(並解決json中存在新增多余字段的問題)


1、添加jackson庫

如果是maven工程,需要在pom.xml中添加jackson的依賴:

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

2、json轉object

ObjectMapper objectMapper = new ObjectMapper();  
YourClass class = objectMapper.readValue(YourJson, YourClass.class);  

如果json中有新增的字段並且是YourClass類中不存在的,則會轉換錯誤
1)需要加上如下語句:
ObjectMapper objectMapper = new ObjectMapper();  
objectMapper.configure(DeserializationFeature.FAIL_ON_UNKNOWN_PROPERTIES, false);  
YourClass class = objectMapper.readValue(YourJson, YourClass.class);  

2)jackson庫還提供了注解方法,用在class級別上:

這種方法的好處是不用改變要轉化的類,即本例的YourClass。(如果YourClass不是你維護的,或者不可修改的,可以用這個方法)

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;  
@JsonIgnoreProperties(ignoreUnknown = true)  
public class YourClass {  
    ...  
}  

3、object轉json
本例中是YourClass對象需要轉化為json:
import com.fasterxml.jackson.databind.ObjectMapper;  
  
ObjectMapper objectMapper = new ObjectMapper();  
YourClass yourClass = new YourClass();  
String json = objectMapper.writeValueAsString(yourClass); 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM