9
fix issue #1868 #1968 #2029 #2452 正常的配置优先级应该是从小到大的,目前fastjson支持四种方式配置dateFormat,按照优先级从高到低分别为:
- 通过JSON.toJSONStringWithDateFormat()函数传参
- 通过在属性上添加@JSONField(format="yyyy-MM-dd")注解
- 通过xml配置
或FastJsonConfig.setDateFormat()函数传参 - 通过修改JSON.DEFFAULT_DATE_FORMAT变量值
但是目前通过1和3方式配置的dateFormat存储到同一个变量里的,导致提升方式2的优先级时会同时覆盖1和3的优先级。所以用了不同的变量fastJsonConfigDateFormatPattern
来存储方式3配置的dateFormat,并把与FastJsonConfig相关的setDateFormat方法统一到了这个变量上。
另外为了避免冲突, 场景3中使用FastJsonConfig设置的dateFormat的一些方法进行了调整,并已全部通过测试。