diff --git a/CHANGELOG.md b/CHANGELOG.md index a6de785a6e..2431e5c25f 100755 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,7 +1,7 @@ # 🚀Changelog ------------------------------------------------------------------------------------------------------------- -# 5.8.42(2025-10-28) +# 5.8.42(2025-10-29) ### 🐣新特性 * 【core 】 `ListUtil`增加`zip`方法(pr#4052@Github) @@ -14,7 +14,8 @@ * 【extra 】 修复`JschSessionPool.remove`逻辑错误问题。 * 【db 】 修复`Dialect.psForCount`未传入Wrapper导致大小写问题(issue#ID39G9@Gitee)。 * 【core 】 修复`PasswdStrength.check`indexOf逻辑问题(pr#4114@Github)。 -* 【htp 】 修复`HttpConnection.reflectSetMethod`反射在JDK9+权限问题(issue#4109@Github)。 +* 【http 】 修复`HttpConnection.reflectSetMethod`反射在JDK9+权限问题(issue#4109@Github)。 +* 【http 】 修复`JsonUtil.toJsonStr`对Boolean和Number返回错误问题(issue#4109@Github)。 ------------------------------------------------------------------------------------------------------------- # 5.8.41(2025-10-12) diff --git a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java index 42510885c7..0051370f85 100755 --- a/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java +++ b/hutool-json/src/main/java/cn/hutool/json/JSONUtil.java @@ -359,6 +359,8 @@ public class JSONUtil { } if (obj instanceof CharSequence) { return StrUtil.str((CharSequence) obj); + }else if(obj instanceof Boolean || obj instanceof Number) { + return obj.toString(); } return toJsonStr(parse(obj, jsonConfig)); } diff --git a/hutool-json/src/test/java/cn/hutool/json/IssueID418BTest.java b/hutool-json/src/test/java/cn/hutool/json/IssueID418BTest.java new file mode 100644 index 0000000000..ca6ce6a377 --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/IssueID418BTest.java @@ -0,0 +1,14 @@ +package cn.hutool.json; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class IssueID418BTest { + + @Test + void booleanToJsonTest() { + Boolean dd = true; + String jsonStr = JSONUtil.toJsonStr(dd); + Assertions.assertEquals("true", jsonStr); + } +} diff --git a/hutool-json/src/test/java/cn/hutool/json/JSONUtilTest.java b/hutool-json/src/test/java/cn/hutool/json/JSONUtilTest.java index 2b5c2c04d5..31a80b7f4c 100644 --- a/hutool-json/src/test/java/cn/hutool/json/JSONUtilTest.java +++ b/hutool-json/src/test/java/cn/hutool/json/JSONUtilTest.java @@ -290,7 +290,7 @@ public class JSONUtilTest { public void issue3540Test() { Long userId = 10101010L; final String jsonStr = JSONUtil.toJsonStr(userId); - assertEquals("{}", jsonStr); + assertEquals("10101010", jsonStr); } /**