From add4a44039667b46c2d435f0a5c992d34b844fb1 Mon Sep 17 00:00:00 2001 From: Looly Date: Mon, 12 Jun 2023 22:40:11 +0800 Subject: [PATCH] =?UTF-8?q?JSONUtil=E6=94=AF=E6=8C=81=E5=AF=B9=E5=9F=BA?= =?UTF-8?q?=E6=9C=AC=E7=B1=BB=E5=9E=8B=E7=9A=84=E8=BD=AC=E6=8D=A2?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../org/dromara/hutool/json/JSONUtil.java | 11 +++++--- .../dromara/hutool/json/IssueI7CW27Test.java | 27 +++++++++++++++++++ 2 files changed, 35 insertions(+), 3 deletions(-) create mode 100644 hutool-json/src/test/java/org/dromara/hutool/json/IssueI7CW27Test.java diff --git a/hutool-json/src/main/java/org/dromara/hutool/json/JSONUtil.java b/hutool-json/src/main/java/org/dromara/hutool/json/JSONUtil.java index 2eaf52c6f..d8bf3a09f 100644 --- a/hutool-json/src/main/java/org/dromara/hutool/json/JSONUtil.java +++ b/hutool-json/src/main/java/org/dromara/hutool/json/JSONUtil.java @@ -12,8 +12,9 @@ package org.dromara.hutool.json; -import org.dromara.hutool.core.io.file.FileUtil; +import org.dromara.hutool.core.convert.Convert; import org.dromara.hutool.core.io.IORuntimeException; +import org.dromara.hutool.core.io.file.FileUtil; import org.dromara.hutool.core.lang.Assert; import org.dromara.hutool.core.reflect.TypeReference; import org.dromara.hutool.core.text.StrUtil; @@ -27,7 +28,10 @@ import org.dromara.hutool.json.writer.JSONValueWriter; import org.dromara.hutool.json.writer.JSONWriter; import org.dromara.hutool.json.xml.JSONXMLUtil; -import java.io.*; +import java.io.File; +import java.io.IOException; +import java.io.StringWriter; +import java.io.Writer; import java.lang.reflect.Type; import java.nio.charset.Charset; import java.util.List; @@ -388,7 +392,8 @@ public class JSONUtil { return ((JSON) json).toBean(type); } - throw new JSONException("Unsupported json string to bean : {}", json); + //issue#I7CW27,其他类型使用默认转换 + return Convert.convert(type, json); } // -------------------------------------------------------------------- toBean end diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7CW27Test.java b/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7CW27Test.java new file mode 100644 index 000000000..154573948 --- /dev/null +++ b/hutool-json/src/test/java/org/dromara/hutool/json/IssueI7CW27Test.java @@ -0,0 +1,27 @@ +/* + * Copyright (c) 2023 looly(loolly@aliyun.com) + * Hutool is licensed under Mulan PSL v2. + * You can use this software according to the terms and conditions of the Mulan PSL v2. + * You may obtain a copy of Mulan PSL v2 at: + * http://license.coscl.org.cn/MulanPSL2 + * THIS SOFTWARE IS PROVIDED ON AN "AS IS" BASIS, WITHOUT WARRANTIES OF ANY KIND, + * EITHER EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO NON-INFRINGEMENT, + * MERCHANTABILITY OR FIT FOR A PARTICULAR PURPOSE. + * See the Mulan PSL v2 for more details. + */ + +package org.dromara.hutool.json; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class IssueI7CW27Test { + + @Test + void longToBeanTest() { + final String number = "123123123"; + final Long bean = JSONUtil.toBean(number, Long.class); + + Assertions.assertEquals(123123123L, bean); + } +}