1./************************fastjson*********************************/
//这个用来过滤一些属性
SerializeFilter fliter = new PropertyFilter() {
@Override
public boolean apply(Object arg0, String fieldName, Object arg2) {
if ("id".equals(fieldName)) {
return false;
}
return true;
}
};
//将数据转换为json,SerializerFeature.DisableCircularReferenceDetect用来解决数据的回调,比如说有实体对象,可以使用,如果没有,可以不使用
String json = JSONObject.toJSONString(user, fliter,SerializerFeature.DisableCircularReferenceDetect);
补充:
@JSONField(format="yyyy-MM-dd")//fastjson格式化日期
2./************************jackson*********************************/
ObjectMapper mapper = new ObjectMapper();
//设置日期格式化器
mapper.setDateFormat(new SimpleDateFormat("yyyy-MM-dd"));
@JsonFilter("userFilter")//jackson编码实现过滤属性,需要在类上面添加一个自己注解
FilterProvider fp=new SimpleFilterProvider().addFilter("userFilter", //看下
SimpleBeanPropertyFilter.filterOutAllExcept("id","name"));
mapper.setFilters(fp);
String json = mapper.writeValueAsString(user);
补充:在类上加@JsonIgnoreProperties({"id","age"})可以过滤多个属性,在声明属性上添加@JsonIgnore,过滤单个属性
3. /************************struts2*********************************/
(1). 将我们自己配置文件中的<packageextends=”json-default”>.
(2). Action的返回视图<result name=”” type=”json”>
(3). 因为我们配置了上面两步,那么struts2框架就会将valueStack中的栈顶元素转换成json响应到浏览器