实体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)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • 计算机二级excel设置宏,Excel2013中为宏指定快捷键的方法

    计算机二级excel设置宏,Excel2013中为宏指定快捷键的方法计算机二级知识知多少?小编又来普及了,希望大家能够好好学习计算机二级,争取一次过关。其实,在Office2013/”target=”_blank”>Office2013应用程序中,使用快捷键是一种快速执行命令的方法,如,在选择对象后按“Ctrl+C”键可以快速执行对象的复制操作,按“Ctrl+V”键可以快速执行对象的粘贴操作。实际上,对于录制的宏,同样可以通过指定快捷键来方便其执行,下面…

    2022年5月17日
    73
  • gis如何加载影像图_怎么使用倒车影像倒车

    gis如何加载影像图_怎么使用倒车影像倒车SAGA的全称为SystemforAutomatedGeoscientificAnalyses,它是免费的地理信息系统开源软件,SAGA有多个标准的模块库,详细介绍可参考:https://en.wikipedia.org/wiki/SAGA_GIShttps://sagatutorials.wordpress.com/about-saga-gis/(1)使用SAGAGIS导…

    2022年9月19日
    0
  • ER图是什么?「建议收藏」

    ER图是什么?「建议收藏」ER图分为实体、属性、关系三个核心部分。实体是长方形体现,而属性则是椭圆形,关系为菱形。ER图的实体(entity)即数据模型中的数据对象,例如人、学生、音乐都可以作为一个数据对象,用长方体来表示,每个实体都有自己的实体成员(entitymember)或者说实体对象(entityinstance),例如学生实体里包括张三、李四等,实体成员(entitymember)/实体实例(entityinstance)不需要出现在ER图中。ER图的属性(attribute)即数据对象所具有的属

    2022年9月23日
    0
  • R语言入门-安装R和Rstuido软件

    R语言入门-安装R和Rstuido软件安装R和Rstuido软件R语言是用于统计分析,图形表示和报告的编程语言和软件环境;Rstudio是编辑、运行R语言的最为理想的工具之一。1、官网下载R安装包  下载地址为:https://cran.r-project.org  进入链接,如下图所示,在页面顶部提供了三个下载链接,分别对应三种操作系统:Windows、Mac和Linux。请选择自己操作系统对应的链接,接下来我将以wi…

    2022年6月27日
    44
  • 如何快速搭建图片服务器[通俗易懂]

    前言最近学习一个分布式集群的项目,正常一般的工程是把图片放在web项目的自身服务器的工程中,但在集群环境下,会出现找不到图片的情况。代码参考:https://github.com/zyjcxc/taotao.git比如:解决办法:linux做磁盘的映射,说能解决,但服务器多了也不好弄,所以可以再搭建一个图片服务器图片服务器两个服务:http:可以使用nginx…

    2022年4月10日
    56
  • phpstorm 2021激活码_在线激活

    (phpstorm 2021激活码)最近有小伙伴私信我,问我这边有没有免费的intellijIdea的激活码,然后我将全栈君台教程分享给他了。激活成功之后他一直表示感谢,哈哈~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月26日
    57

发表回复

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

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