Skip to content

[BUG] Parse day-month-year format json string #2757

@Cooperzzy

Description

@Cooperzzy

问题描述

对于 日-月-年 格式的字符串,fastjson 1.x 可以解析,fastjson兼容无法解析。请问是否考虑支持呢

环境信息

  • OS信息: [MacOS 12.7.4 M1 Pro 16 GB]
  • JDK信息: [Openjdk 17.0.6]
  • 版本信息:[Fastjson 2.0.51]

重现步骤

import com.alibaba.fastjson.JSON;
import org.junit.jupiter.api.Test;

import java.util.Date;

import static org.junit.jupiter.api.Assertions.assertEquals;

public class Test_112 {
    @Test
    public void test() throws Exception {
        Model model = JSON.parseObject("{\"date\":\"01-03-2022 12:00:00\"}", Model.class);
        assertEquals(new Date(122, 2, 1, 12, 0, 0), model.date);
    }

    public static class Model {
        public Date date;
    }
}

相关日志输出

java.time.format.DateTimeParseException: illegal input 01-01-2022 12:00:00
at com.alibaba.fastjson2.util.DateUtils.parseMillis19(DateUtils.java:9763)
at com.alibaba.fastjson2.JSONReaderUTF8.readMillis19(JSONReaderUTF8.java:6713)
at com.alibaba.fastjson2.JSONReader.readMillisFromString(JSONReader.java:1557)
at com.alibaba.fastjson2.JSONReader.readDate(JSONReader.java:1381)
at com.alibaba.fastjson2.reader.ORG_1_1_Model.readObject(Unknown Source)
at com.alibaba.fastjson.JSON.parseObject(JSON.java:542)

Metadata

Metadata

Assignees

No one assigned

    Labels

    bugSomething isn't workingfixed

    Type

    No type

    Projects

    No projects

    Milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions