修复JSONConfig.setDateFormat设置后setWriteLongAsString失效问题

This commit is contained in:
Looly 2024-08-24 13:28:58 +08:00
parent 227a6efe63
commit 63b2f7c70d
4 changed files with 24 additions and 23 deletions

View File

@ -2,7 +2,7 @@
# 🚀Changelog
-------------------------------------------------------------------------------------------------------------
# 5.8.32(2024-08-22)
# 5.8.32(2024-08-24)
### 🐣新特性
@ -11,6 +11,7 @@
* 【crypto 】 修复SymmetricCrypto.setParams和setRandom没有加锁问题issue#IAJIY3@Gitee
* 【crypto 】 修复ZipUtil压缩成流的方法检查文件时报错问题issue#3697@Github
* 【core 】 修复CopyOptions.setFieldValueEditor后生成null值setIgnoreNullValue无效问题issue#3702@Github
* 【json 】 修复JSONConfig.setDateFormat设置后setWriteLongAsString失效问题issue#IALQ0N@Gitee
-------------------------------------------------------------------------------------------------------------
# 5.8.31(2024-08-12)

View File

@ -1,15 +1,10 @@
package cn.hutool.json;
import cn.hutool.core.convert.NumberWithFormat;
import cn.hutool.core.io.IORuntimeException;
import cn.hutool.core.io.file.FileReader;
import cn.hutool.core.lang.TypeReference;
import cn.hutool.core.map.MapWrapper;
import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.ClassUtil;
import cn.hutool.core.util.HexUtil;
import cn.hutool.core.util.ObjectUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.core.util.*;
import cn.hutool.json.serialize.GlobalSerializeMapping;
import cn.hutool.json.serialize.JSONArraySerializer;
import cn.hutool.json.serialize.JSONDeserializer;
@ -23,11 +18,7 @@ import java.lang.reflect.Type;
import java.nio.charset.Charset;
import java.sql.SQLException;
import java.time.temporal.TemporalAccessor;
import java.util.Calendar;
import java.util.Date;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.*;
/**
* JSON工具类
@ -763,9 +754,6 @@ public class JSONUtil {
|| object instanceof Number //
|| ObjectUtil.isBasicType(object) //
) {
if(object instanceof Number && null != jsonConfig.getDateFormat()){
return new NumberWithFormat((Number) object, jsonConfig.getDateFormat());
}
return object;
}

View File

@ -11,14 +11,7 @@ import cn.hutool.core.util.ArrayUtil;
import cn.hutool.core.util.CharUtil;
import cn.hutool.core.util.NumberUtil;
import cn.hutool.core.util.StrUtil;
import cn.hutool.json.JSON;
import cn.hutool.json.JSONArray;
import cn.hutool.json.JSONConfig;
import cn.hutool.json.JSONException;
import cn.hutool.json.JSONNull;
import cn.hutool.json.JSONObject;
import cn.hutool.json.JSONString;
import cn.hutool.json.JSONUtil;
import cn.hutool.json.*;
import java.io.IOException;
import java.io.Writer;

View File

@ -0,0 +1,19 @@
package cn.hutool.json;
import cn.hutool.core.date.DateUtil;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
import java.util.HashMap;
import java.util.Map;
public class IssueIALQ0NTest {
@Test
void toJsonStrTest() {
Map<String, Object> map = new HashMap<>();
map.put("id", 1826166955313201152L);
map.put("createdDate", DateUtil.parse("2024-08-24"));
final String jsonStr = JSONUtil.toJsonStr(map, JSONConfig.create().setDateFormat("yyyy-MM-dd HH:mm:ss").setWriteLongAsString(true));
Assertions.assertEquals("{\"createdDate\":\"2024-08-24 00:00:00\",\"id\":\"1826166955313201152\"}", jsonStr);
}
}