实体list转JSONArray对Date数据处理「建议收藏」

实体list转JSONArray对Date数据处理「建议收藏」直接上代码importnet.sf.json.JSONArray;importnet.sf.json.JsonConfig;importnet.sf.json.processors.JsonValueProcessor;importjava.math.BigDecimal;importjava.text.SimpleDateFormat;importjava.util.ArrayList;importjava.util.Date;importjava.util.List;

大家好,又见面了,我是你们的朋友全栈君。

直接上代码

import net.sf.json.JSONArray;
import net.sf.json.JsonConfig;
import net.sf.json.processors.JsonValueProcessor;
 
import java.math.BigDecimal;
import java.text.SimpleDateFormat;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
 
public class JSONDemo01 { 
   
    public static void main(String[] args) { 
   
        List<ZuLinVo> list = new ArrayList<>();
        ZuLinVo zuLinVo = new ZuLinVo("test","330100",new BigDecimal("142.24"),new Date(),new Date());
        list.add(zuLinVo);
        ZuLinVo zuLinVo1 = new ZuLinVo("test","330100",new BigDecimal("142.24"),new Date(),null);
        list.add(zuLinVo1);
        JsonConfig config = new JsonConfig();
        config.registerJsonValueProcessor(Date.class, new JsonValueProcessor() { 
   
            //自定义日期格式
            SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
            @Override
            //处理单个Date对象
            public Object processObjectValue(String propertyName, Object date,JsonConfig config) { 
   
                if(date!=null){ 
   
                    return simpleDateFormat.format(date);
                }else{ 
   
                    return null;
                }
            }
            @Override
            //处理数组中的Date对象
            public Object processArrayValue(Object date, JsonConfig config) { 
   
                if(date!=null){ 
   
                    return simpleDateFormat.format(date);
                }else{ 
   
                    return null;
                }
            }
        });
        JSONArray array = JSONArray.fromObject(list,config);
        System.out.println(array.toString());
    }
}

创建实体类

import java.math.BigDecimal;
import java.util.Date;
 
public class ZuLinVo { 
   
    private String fwzl;//房屋坐落
    private String sscq;//所属城区
    private BigDecimal mj;//面积
    private Date zlksrq;//租赁开始日期
    private Date zljsrq;//租赁结束日期
 
    public String getFwzl() { 
   
        return fwzl;
    }
    public void setFwzl(String fwzl) { 
   
        this.fwzl = fwzl;
    }
    public String getSscq() { 
   
        return sscq;
    }
    public void setSscq(String sscq) { 
   
        this.sscq = sscq;
    }
    public BigDecimal getMj() { 
   
        return mj;
    }
    public void setMj(BigDecimal mj) { 
   
        this.mj = mj;
    }
    public Date getZlksrq() { 
   
        return zlksrq;
    }
    public void setZlksrq(Date zlksrq) { 
   
        this.zlksrq = zlksrq;
    }
    public Date getZljsrq() { 
   
        return zljsrq;
    }
    public void setZljsrq(Date zljsrq) { 
   
        this.zljsrq = zljsrq;
    }
    public ZuLinVo(String fwzl, String sscq, BigDecimal mj, Date zlksrq, Date zljsrq) { 
   
        this.fwzl = fwzl;
        this.sscq = sscq;
        this.mj = mj;
        this.zlksrq = zlksrq;
        this.zljsrq = zljsrq;
    }
}

代码执行控制台数据:实体类中的字段类型为date时进行处理,为空直接返回null,有值进行格式处理
在这里插入图片描述

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/149446.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • ssm框架理解

    ssm框架理解SSM框架理解最近两星期一直在学JavaEE的MVC框架,因为之前学校开的JavaEE课程就一直学的吊儿郎当的,所以现在真正需要掌握就非常手忙脚乱,在此记录下这段时间学习的感悟,如有错误,希望大牛毫不

    2022年7月4日
    23
  • django filter查询_搜索全局排序方法

    django filter查询_搜索全局排序方法前言当我们需要对后台的数据进行过滤的时候,drf有两种,搜索过滤和排序过滤。搜索过滤:比如我们想返回sex=1的,那么我们就可以从所有数据中进行筛选排序过滤:比如我们想对价格进行升序排列,就可以

    2022年7月31日
    6
  • 观察者模式observer不适用于_观察者模式是什么

    观察者模式observer不适用于_观察者模式是什么观察者模式Obeserver动机模式定义实例结构图要点总结笔记动机在软件构建过程中,我们需要为某些对象建立 一种“通知依赖关系” —-一个对象发(目标对象)的状态发生改变,所有依赖的对象(观察者对象)都将很好的得到通知。如果这样的依赖关系过于紧密。将使软件不能很好的抵御变化使用面向对象技术 可以将这种依赖关系弱化,并形成一种稳定的依赖关系。从而实现软件体系结构的松耦合。模式定义定义对象间的一种一对多(变化)的依赖关系,以便当一个对象(subject)的状态发生改变时,所有依赖于它的对象都得到通

    2022年8月11日
    4
  • C++ list容器的splice方法

    C++ list容器的splice方法list容器底层实现是一个带头结点的双向链表,由于链表的每个节点是单独开辟的,所以链表在移动数据,或者两个链表之间移动数据的时候,直接把节点摘下来,接入到新的位置就可以了,效率比较高。splice方法就是将list的元素进行拼接,原理就是改变结点指针的指向,效率比较高。先看看这splice方法的三种声明:(1)voidsplice(iteratorposition,list&lt…

    2022年9月24日
    5
  • 个人觉得好用的Xmind快捷键(mac)[通俗易懂]

    个人觉得好用的Xmind快捷键(mac)[通俗易懂]commandN新建脑图空格修改文字Delete删除文字commandZ撤销上一步Enter添加平行分支Tab添加子节点command+/-放大/缩小commandI上传图片command+Shift+H插入超链接command+1,2,3,4,5,6快速添加优先等级图标-收缩目前分支方向键展开当前分支…

    2022年6月5日
    77
  • goland 2021.1 激活码(在线激活)「建议收藏」

    goland 2021.1 激活码(在线激活),https://javaforall.net/100143.html。详细ieda激活码不妨到全栈程序员必看教程网一起来了解一下吧!

    2022年3月14日
    114

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号