struts2的fastjson,jackson轉換json簡單使用
阿新 • • 發佈:2018-07-28
println lte ebe mat tin over release led 逗號
一.Fastjson使用
1.導入fastjson.jar包
2.使用方法
對於對象和集合使用同樣的方法
使用JSON.toJSONString(對象)返回一個json對象
3.如果對Date類型進行格式化輸出
@JSONField(format="yyyy-MM-dd")
private Date birthday;
4.關於屬性是否生成在json串中設置
在action中new一個SerializeFilter
SerializeFilter filter = new PropertyFilter(){
@Override
public boolean apply(Object object, String name, Object value) {
System.out.println(object);//要轉換成json的對象
System.out.println(name);//屬性的名稱
System.out.println(value);//屬性值
if("id".equals(name)){
return false;//返回false代表不生成json串中
}
return true;//代表生成在json串中
}
};
JSON.toJSONString(對象,filter);
二.jackson的使用
1.導入jackson的jackson.jar包
2.使用方法
對於對象和集合使用同樣的方法
ObjectMapper mapper = new ObjectMapper();
Sring json = mapper.writeValueAsString(對象);
3.處理日期類型
ObjectMapper mapper = new ObjectMapper();
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd");//設置日期格式化器
Sring json = mapper.writeValueAsString(對象);
4.過濾屬性
1.實體類下所有的屬性過濾
在實體類中添加註解
@JsonIgnoreProperties({"id","releaseDate"})//過濾的屬性使用逗號隔開
public class Product{
private int id;
private Sting name;
private Date releaseDate;
}
2.單個action的屬性過濾
@JsonFilter("productFilter")//使用註解定義過濾的實體類名
public class Product{
private int id;
private Sting name;
private Date releaseDate;
}
action中編碼的實現
//FilterProvider fp = new SimpleFilterProvider().addFilter("productFilter",
// SimpleBeanPropertyFilter.filterOutAllExcept("id","name"));//只包含id與name
FilterProvider fp = new SimpleFilterProvider().addFilter("productFilter",
SimpleBeanPropertyFilter.serializeAllExcept("id","name"));//不包含id與name
mapper.setFilters(fp);
String json = mapper.writeValueAsString(對象);
struts2的fastjson,jackson轉換json簡單使用