Skip to content
This repository was archived by the owner on Oct 23, 2024. It is now read-only.

纳秒级 Timestamp 解析异常 #2894

@SELiOTe

Description

@SELiOTe
package com.seliote.demo;

import com.alibaba.fastjson.JSONObject;
import com.alibaba.fastjson.annotation.JSONField;
import lombok.Data;

import java.sql.Timestamp;
import java.time.LocalDateTime;

public class FastJsonTest {
    public static void main(String... args) {
        String json = "{\"timestamp\": \"2019-09-19 08:49:52.350000000\", " +
                "\"local_date_time\": \"2019-09-19 08:49:52.350000000\"}";
        Pojo pojo = JSONObject.parseObject(json, Pojo.class);
    }
}

@Data
class Pojo {
    // 不正确,解析出是 2019-09-23 10:03:12.0
    @JSONField(name = "timestamp", format = "yyyy-MM-dd HH:mm:ss.SSSSSSSSS")
    private Timestamp timestamp;
    // 正确,解析出是 2019-09-19T08:49:52.350
    @JSONField(name = "local_date_time", format = "yyyy-MM-dd HH:mm:ss.SSSSSSSSS")
    private LocalDateTime localDateTime;
}

Metadata

Metadata

Assignees

Labels

Type

No type

Projects

No projects

Relationships

None yet

Development

No branches or pull requests

Issue actions