fastjson2 icon indicating copy to clipboard operation
fastjson2 copied to clipboard

[BUG] DateTimeParseException at JSON.parseObject

Open Cooperzzy opened this issue 1 year ago • 0 comments

问题描述

以下代码 fastjson1.x 无问题, fastjson2 在JSON.parseObject报错

环境信息

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

重现步骤


import cn.hutool.core.bean.BeanUtil;
import com.alibaba.fastjson2.JSON;
import org.junit.jupiter.api.Test;

import java.util.Date;
import java.util.HashMap;
import java.util.Map;

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

public class Issue1711_534 {

    @Test
    public void testExtraParseMethod() {
        Map map = new HashMap();
        map.put("now", "00000000");
        // Hutool BeanUtil
        final MyBean bean = BeanUtil.mapToBean(map, MyBean.class, false, null);

        byte[] jsonBytes = JSON.toJSONBytes(bean);
        MyBean parsedBean = JSON.parseObject(jsonBytes, MyBean.class);

        assertEquals(bean.getNow(), parsedBean.getNow());
    }

    public static class MyBean {
        private Date now;

        public Date getNow() {
            return now;
        }

        public void setNow(Date now) {
            this.now = now;
        }

        @Override
        public String toString() {
            return "MyBean{" +
                    "now=" + now +
                    '}';
        }
    }
}

相关日志输出

java.time.format.DateTimeParseException: -0001-11-28T00:05:43[Asia/Shanghai] at com.alibaba.fastjson2.util.DateUtils.parseZonedDateTime(DateUtils.java:6232) at com.alibaba.fastjson2.JSONReader.readMillisFromString(JSONReader.java:1609) at com.alibaba.fastjson2.JSONReader.readDate(JSONReader.java:1410) at com.alibaba.fastjson2.reader.ORG_1_1_MyBean.readObject(Unknown Source) at com.alibaba.fastjson2.JSON.parseObject(JSON.java:1503)

Cooperzzy avatar Jun 28 '24 11:06 Cooperzzy