1. 程式人生 > >java json序列化日期型別

java json序列化日期型別

做介面開發時經常需要給前端返回日期資料,比如生日、建立時間、更新時間等。我們一般是建一個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轉成指定格式的日期字串。這個方法是我們自己的實現方式,當然可以使用某些框架帶的註解方式。