java json序列化日期类型[通俗易懂]

java json序列化日期类型[通俗易懂]做接口开发时经常需要给前端返回日期数据,比如生日、创建时间、更新时间等。我们一般是建一个bean,将定义所需要的字段,并和数据库的字段相对应。虽然数据库的字段是日期类型的,但bean的字段定义在String就行了,看下面的测试代码:packagecom.bs.test;importjava.text.SimpleDateFormat;importjava.util.Date;importc

做接口开发时经常需要给前端返回日期数据,比如生日、创建时间、更新时间等。我们一般是建一个bean,将定义所需要的字段,并和数据库的字段相对应。虽然数据库的字段是日期类型的,但bean的字段定义在String就行了,看下面的测试代码:

package com.bs.test;

import java.text.SimpleDateFormat;
import java.util.Date;

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.serializer.SerializerFeature;

public class DateTest { 
   
    public static void main(String[] args) {
        UserBean user = new UserBean();
        user.setName("张三");
        user.setBirth(new Date());

        String jsonString = JSON.toJSONString(user, SerializerFeature.WriteMapNullValue);
        System.out.println(jsonString);
        //输出:{"birth":"2017-09-08 11:09:23","name":"张三"}
    }
}
class UserBean{

    private String name;
    private String birth;//这里不是Date类型

    public String getName() {
        return name;
    }
    public String getBirth() {
        return birth;
    }

    public void setName(String name) {
        this.name = name;
    }

    public void setBirth(Date birth) {
  
  //注意这里的入参是Date类型
        if(birth == null){
            this.birth = "";
        }
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");
        this.birth = sdf.format(birth);
    }
}

关键部分在setBirth()方法的入参是Date类型,在这里将date转成指定格式的日期字符串。这个方法是我们自己的实现方式,当然可以使用某些框架带的注解方式。

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

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

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

相关推荐

  • Linux电子书(百度云下载)[通俗易懂]

    Linux电子书(百度云下载)[通俗易懂]全部放到一个文件夹下了 Linux电子书下载

    2022年10月24日
  • iPad2成功越狱

    iPad2成功越狱昨天iPad2的越狱终于出啦,作为小白的我,在网上各种教程的帮助下,成功越狱!其实过程还是很简单的~ 步骤一:备份SHSH(据说如果你的设备无需降级,可以忽略备份SHSH这一步,不会对越狱有影响)参考:http://bbs.weiphone.com/read-htm-tid-20

    2022年5月30日
  • centos5-6修复心血漏洞

    centos5-6修复心血漏洞下面的内容是针对想升级OpenSSL1.0.1g的CentOS5x64:rpm-ivh–nosignaturehttp://rpm.axivo.com/redhat/axivo-release-5-1.noarch.rpmCentOS6x64:rpm-ivh–nosignaturehttp://rpm.axivo.com/redhat/axivo-rel…

    2022年7月17日
  • RemMai 3.0[通俗易懂]

    RemMai 3.0[通俗易懂]RemMai 3.0

    2022年4月22日
  • VScode快捷键和设置

    VScode快捷键和设置一.快捷键单行注释 ctrl+/ 多行注释 alt+shift+a 复制上一行代码到下一行 alt+shift+↓ 移动代码到上一行或下一行 alt+↑,alt+↓ 返回到上次编辑位置 alt+← 跳转到指定文件 ctrl+p 全文搜索字符 ctrl+shift+f 格式化代码 shift+alt+f…

    2022年4月30日
  • 解决MyQL数据库中1045错误的方法——Windows系统「建议收藏」

    解决MyQL数据库中1045错误的方法——Windows系统「建议收藏」在各种各样的适用场所,MySQL会出现各种各样的问题,经过足足半年的长跑,我的数据库终于修复了Bug,可以重新使用了。数据库出问题,那可能是家常便饭了。经过这足足半年的煎熬,我决定在以后的日子里,记录下我在使用数据库时遇到的色彩缤纷的问题,以及这些问题的解决方法。由此,今天写了这篇博客。首先,给大家看看,这个问题是什么样子的。我在这里用到的MySQL可视化工具为Navicat。这个错误…

    2022年6月13日

发表回复

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

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