1. 程式人生 > >fastjson(三)處理日期

fastjson(三)處理日期

本節我們來簡單介紹一下fastjson對日期的處理

fastjson處理日期的API很簡單,例如:

JSON.toJSONStringWithDateFormat(date, "yyyy-MM-dd HH:mm:ss.SSS");

使用ISO-8601日期格式

JSON.toJSONString(obj, SerializerFeature.UseISO8601DateFormat);

全域性修改日期格式

JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
JSON.toJSONString(obj, SerializerFeature.WriteDateUseDateFormat
);

反序列化能夠自動識別如下日期格式:

  • ISO-8601日期格式
  • yyyy-MM-dd
  • yyyy-MM-dd HH:mm:ss
  • yyyy-MM-dd HH:mm:ss.SSS
  • 毫秒數字
  • 毫秒數字字串
  • .NET JSON日期格式
  • new Date(198293238)

下面來看看具體的程式碼示例:

User 類:

package json.fastjson.date;

import java.util.Date;

public class User {

    private Long id;
    private String name;
    // 增加時間欄位
    private
Date date; public Long getId() { return id; } public void setId(Long id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } public Date getDate() { return date; } public
void setDate(Date date) { this.date = date; } @Override public String toString() { return "User [id=" + id + ", name=" + name + ", date=" + date + "]"; } }

測試類:

package json.fastjson.date;

import java.util.Date;

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

public class TestDate {

    public static void main(String[] args) {

        User user = new User();
        user.setId(2L);
        user.setName("guest");
        user.setDate(new Date());

        // 序列化
        String jsonString = JSON.toJSONString(user);
        System.out.println("序列化:" + jsonString);

        // 序列化處理時間,方式一
        jsonString = JSON.toJSONStringWithDateFormat(user, "yyyy-MM-dd HH:mm:ss.SSS");
        System.out.println("序列化處理時間,方式一:" + jsonString);

        // 序列化處理時間,方式二:ISO-8601日期格式
        jsonString = JSON.toJSONString(user, SerializerFeature.UseISO8601DateFormat);
        System.out.println("序列化處理時間,方式二:ISO-8601日期格式:" + jsonString);

        // 序列化處理時間,方式三:全域性修改日期格式
        JSON.DEFFAULT_DATE_FORMAT = "yyyy-MM-dd";
        jsonString = JSON.toJSONString(user, SerializerFeature.WriteDateUseDateFormat);
        System.out.println("序列化處理時間,方式三:全域性修改日期格式:" + jsonString);

    }
}

輸出結果:

序列化:{"date":1516884789616,"id":2,"name":"guest"}
序列化處理時間,方式一:{"date":"2018-01-25 20:53:09.616","id":2,"name":"guest"}
序列化處理時間,方式二:ISO-8601日期格式:{"date":"2018-01-25T20:53:09.616+08:00","id":2,"name":"guest"}
序列化處理時間,方式三:全域性修改日期格式:{"date":"2018-01-25","id":2,"name":"guest"}

相關推薦

fastjson處理日期

本節我們來簡單介紹一下fastjson對日期的處理 fastjson處理日期的API很簡單,例如: JSON.toJSONStringWithDateFormat(date, "yyyy

jdk 1.7系列處理目錄和目錄樹

需要 err visitor XML 只需要 重寫 img ide col DirectoryStream<T> 接口 java.nio.file.DirectoryStream<T>接口和它的實現類提供的功能: 循環遍歷目錄中的子項,比如查找目錄

REST處理HTTP狀態碼、異常和響應頭

REST(三)處理HTTP狀態碼、異常和響應頭 之前的內容只是討論了正確的處理結果,而沒有討論當沒有找到資源時的處理或者發生異常時的處理。當發生資源找不到或者處理邏輯發生異常時,需要考慮的時返回給客戶端HTTP抓鬼你太嗎和錯誤訊息的問題。為了簡化這些開發,Spring提供了實體封裝類

JavaSE處理日期和時間

處理日期和時間 概念 Date和Calendar Date Calendar java.time的API LocalDateTime ZonedDateTime 最佳實踐

Asp.Net Core WebAPI入門整理跨域處理

使用 所有 ble 允許 需要 public cors 項目 listitem 一、Core WebAPI中的跨域處理 1.在使用WebAPI項目的時候基本上都會用到跨域處理 2.Core WebAPI的項目中自帶了跨域Cors的處理,不需要單獨添加程序包 3.使用方

python基礎----字符編碼以及文件處理

odin mod window 存儲空間 表示 一行 內存數據 rec 錯誤 字符編碼與文件處理 一.字符編碼 由字符翻譯成二進制數字的過程 字符--------(翻譯過程)------->數字 這個過程實際就是一個字符如何對應一個特定數字的標準,這個標準

Python編程字符編碼與文件處理

python3 固定 one 加載 not rdl 寫到 bin 存在 計算機要想工作必須通電,也就是說‘電’驅使計算機幹活,而‘電’的特性,就是高低電平(高低平即二進制數1,低電平即二進制數0),也就是說計算機只認識數字   編程的目的是讓計算機幹活,而編程的結果說白

oracle 內置函數日期函數

內置 images 函數 我們 當前 sda sys mage .com 日期函數概要: 系統時間 日期操作 一、系統時間 sysdate:還是西方的格式,我們一般需要to_char(date,‘yyyy-mm-dd hh24:mi:ss‘) next_day:當前日

MySQL與Oracle---日期對比Oracle

數據庫 alt to_date pan 技術分享 時間日期 軟件 floor lte Oracle: 1.獲取當前日期的年,月,日,時,分,秒 select to_char(sysdate,‘yyyy‘) as nowYear from dual; //獲取時間

首頁處理

servlet todo dtd index函數 tty ges throw 對象 param 完成功能:登陸後直接進入index.jsp界面 1、導入index.jsp頁面 <%@ page language="java" contentType="te

PTA題目的處理

stdio.h 目的 std border fault pla char wid -s 題目7-1 高速公路超速處罰 1.實驗代碼 #include <stdio.h> //#include <stdlib.h> int main() { in

python數字圖像處理邊緣檢測常用算子

lin tco lap def ood 獲得 iou keep 算法 在該文將介紹基本的幾種應用於邊緣檢測的濾波器,首先我們讀入saber用來做為示例的圖像 #讀入圖像代碼,在此之前應當引入必要的opencv matplotlib numpy saber = cv2.imr

PL/SQL輕量版——遊標與異常處理

多個 次循環 指向 count dbms 都是 不能 weight acl 一、遊標   1.概念     遊標是一個 指向上下文的句柄( handle) 或指針。通過遊標,PL/SQL 可以控制上下文區和處理語句時上下文區會發生些什麽事情。   2.遊標處理   

手機對話中的語音處理

高斯 color align hidden lan scss 並不是 ria data- 本系列文章由 @YhL_Leo 出品。轉載請註明出處。 文章鏈接:

CentOS初步學習記錄Wget文件下載和Sed文件處理

下載速度 file 文件 socket cut inux 調試 數據行 use mozilla 一、wget 命令 wget命令用來從指定的URL下載文件,wget非常穩定,它在帶寬很窄的情況下和不穩定網絡中有很強的適應性,如果是由於網絡的原因下載失敗,wget會不斷

spring-springmvc搭建springMVC添加對靜態資源訪問的支持及對Fastjson的支持

gmv port ack register repos servle 配置 als img 1.添加對靜態資源.js/.img/.css的訪問 方式有3種: 1,更改springmvc 的DispatherServlet的urlpattern的路徑改為“/*

GCC編譯器原理------編譯原理:編譯過程---預處理

ddl str dep 數據 路徑 back char 構造 data Gcc的編譯流程分為了四個步驟: 預處理,生成預編譯文件(.文件):gcc –E hello.c –o hello.i 編譯,生成匯編代碼(.s文件):gcc –S hello.i –o hell

Python基礎文件操作和處理json

load .com 修改 有一個 不存在 user 元素 lac 取出 文件操作步驟:1.有一個文件,2.打開文件,3.讀寫修改文件,4.關閉文件 一.有一個文件:新建或導入文件 二.打開文件:如果是新建的文件默認和py文件在同一個目錄;如果是打開文件,要將文件放在py同目

Mybatis 實用篇參數處理

習慣 ray sele {} name 實用 face 多個 tro Mybatis 實用篇(三)參數處理 sql 語句中的參數 parameterType 可以省略不寫。 一、參數封裝 1.1 單個參數處理 public interface UserMapper {

WPF的消息機制- WPF內部的5個窗口之處理激活和關閉的消息窗口以及系統資源通知窗口

session 改變 可用 輸入 follow 而是 wpf sdn order 原文:WPF的消息機制(三)- WPF內部的5個窗口之處理激活和關閉的消息窗口以及系統資源通知窗口 版權聲明:本文為博主原創文章,未經博主允許不得轉載。