分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 代码编程

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

发布时间:2023-09-06 02:06责任编辑:胡小海关键词:jsjson

一.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简单使用

原文地址:https://www.cnblogs.com/finelee/p/9380710.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved