Java過濾JSON數據


前段時間在編寫接口的過程中,后台需要給前端返回JSON數據,但是查詢出來返回的數據里面有很多屬性是不需要的,當時想着用字符串替換,但是發現好像根本不靠譜,

多個屬性根本無卵用,后面再網上查了下,發現Java里面有提供JSON屬性過濾的方法,使用了下感覺還不錯,所以記錄一下。

這里提供了兩種過濾方法,分別用於不同的場景,可以視實際情況使用:

1.多個屬性過濾

PropertyFilter profilter = new PropertyFilter(){
@Override
public boolean apply(Object object, String name, Object value) {
  if(name.equalsIgnoreCase("指定字段")){
    //false表示last字段將被排除在外
    return false;
    }
  return true;
  }

};

調用時:
String json = JSON.toJSONString(user, profilter);

上面的方法主要實用於多個屬性字段過濾,該方法過濾屬性靈活.當需要保留多個JSON屬性數據時,可以使用上面的if后面嵌套多個else if即可過濾多個屬性。

 

2.保留指定屬性,過濾其他屬性

SimplePropertyPreFilter filter = new SimplePropertyPreFilter(需要過濾屬性的類.class, "需要使用的屬性(可以為多個)");  

調用時:

String json = JSON.toJSONString(user, filter);

該方法主要適用於指定屬性字段保留,而過濾其他屬性,也可保留多個屬性,使用逗號隔開。

 


免責聲明!

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



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