struts2的fastjson,jackson转换json简单使用

本文详细介绍了Fastjson和Jackson两种JSON处理库的使用方法,包括如何导入库、序列化对象、处理日期类型及过滤不需要的属性等内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.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(对象);
    


 

 

转载于:https://www.cnblogs.com/finelee/p/9380710.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值