fastjson2
fastjson2 copied to clipboard
[FEATURE]全局设置好日期格式后,不需要再在context中进行设置了
请描述您的需求或者改进建议
在设置JSON.configWriterDateFormat("yyyy-MM-dd HH:mm:ss");后,仍然需要进行对context的设置,否则timestamp序列化时,会输出整数串
请描述你建议的实现方案
全局设置好日期格式后,应该不需要再设置context
描述您考虑过的替代方案
无
附加信息
无
@Test
public void test() {
String defaultWriterFormat = JSONFactory.getDefaultWriterFormat();
try {
String dateFormat = "yyyy-MM-dd'T'HH:mm:ss";
JSON.configWriterDateFormat(dateFormat);
JSONWriter.Context writeContext = JSONFactory.createWriteContext();
assertEquals(dateFormat, writeContext.getDateFormat());
Date date = new Date(1712988987882L);
String json = JSON.toJSONString(date, writeContext);
assertEquals("\"2024-04-13T14:16:27\"", json);
java.sql.Timestamp ts = new Timestamp(date.getTime());
String json1 = JSON.toJSONString(date, writeContext);
assertEquals("\"2024-04-13T14:16:27\"", json1);
} finally {
JSON.configWriterDateFormat(defaultWriterFormat);
}
assertEquals(defaultWriterFormat, JSONFactory.getDefaultWriterFormat());
}
设置过全局的dateFormat之后不需要额外设置,不过你要注意构造Context和设置全局dateFormat的先后顺序