在写接口时候遇到的问题记录一下、如果遇到此问题的同学避免入坑。
JSONObject businessInfoMap = ps.getBusinessInfo();
PersonalInfoDTO personinfo = new PersonalInfoDTO();
personinfo = (PersonalInfoDTO) JSONObject.toBean(businessInfoMap, PersonalInfoDTO.class); // 通过json 转换成bean。
其中businessInfoMap中有aac006、aae006日期格式为“1993-02-09”。
JSONObject.Bean时转换后内容都直接为当期系统日期了。
这是因为JSONObject不能识别“1993-02-09”格式;
解决办法:
在toBean方法使用前先执行以下方法;
JSONUtils.getMorpherRegistry().registerMorpher(new DateMorpher(new String[] {“yyyy-MM-dd”, “yyyy-MM-dd HH:mm:ss”}));

本文记录了在使用JSONObject将包含特定日期格式的数据转换为Java Bean时遇到的问题及解决方案。当businessInfoMap中的日期格式为“1993-02-09”时,转换后的内容会变为当前系统日期。解决方法是在toBean方法使用前注册一个可以识别“yyyy-MM-dd”和“yyyy-MM-dd HH:mm:ss”格式的DateMorpher。
1416

被折叠的 条评论
为什么被折叠?



