@@ -0,0 +1,1690 @@
+package com.alibaba.json.bvt.issue_3300;%0A%0Aimport com.alibaba.fastjson.JSON;%0Aimport com.alibaba.fastjson.annotation.JSONCreator;%0Aimport junit.framework.TestCase;%0Aimport org.joda.time.LocalDateTime;%0A%0A/**%0A * @Author %EF%BC%9ANanqi%0A * @Date %EF%BC%9ACreated in 19:07 2020/7/21%0A */%0Apublic class Issue3358 extends TestCase %7B%0A    public void test_for_issue() throws Exception %7B%0A        Model validateCode = new Model(%22111%22, 600);%0A        String jsonString = JSON.toJSONString(validateCode);%0A        Model backModel = JSON.parseObject(jsonString, Model.class);%0A        assertEquals(validateCode.getExpireTime(), backModel.getExpireTime());%0A%0A        jsonString = %22%7B%5C%22code%5C%22:%5C%22111%5C%22%7D%22;%0A        backModel = JSON.parseObject(jsonString, Model.class);%0A        assertNull(backModel.getExpireTime());%0A    %7D%0A%0A    public static class Model %7B%0A        private String code;%0A%0A        private LocalDateTime expireTime;%0A%0A        public String getCode() %7B%0A            return code;%0A        %7D%0A%0A        public void setCode(String code) %7B%0A            this.code = code;%0A        %7D%0A%0A        public LocalDateTime getExpireTime() %7B%0A            return expireTime;%0A        %7D%0A%0A        public void setExpireTime(LocalDateTime expireTime) %7B%0A            this.expireTime = expireTime;%0A        %7D%0A%0A        public Model(String code, int expireIn) %7B%0A            this.code = code;%0A            this.expireTime = LocalDateTime.now().plusSeconds(expireIn);%0A        %7D%0A%0A        @JSONCreator%0A        public Model(String code, LocalDateTime expireTime) %7B%0A            this.code = code;%0A            this.expireTime = expireTime;%0A        %7D%0A%0A        public boolean isExpried() %7B%0A            return LocalDateTime.now().isAfter(getExpireTime());%0A        %7D%0A    %7D%0A%7D%0A

add testCase, #3358