From 745826012a97e2c2965d53fcc80dcd0b1976f0cb Mon Sep 17 00:00:00 2001 From: misakacoder <210086826@qq.com> Date: Tue, 5 Mar 2024 13:35:10 +0800 Subject: [PATCH] fix 3504 --- .../core/convert/ConverterRegistry.java | 3 ++- .../java/cn/hutool/json/Issue3504Test.java | 26 +++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 hutool-json/src/test/java/cn/hutool/json/Issue3504Test.java diff --git a/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java b/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java index d9cda806f..8f3ebb68c 100755 --- a/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java +++ b/hutool-core/src/main/java/cn/hutool/core/convert/ConverterRegistry.java @@ -153,7 +153,8 @@ public class ConverterRegistry implements Serializable { */ @SuppressWarnings("unchecked") public Converter getDefaultConverter(Type type) { - return (null == defaultConverterMap) ? null : (Converter) defaultConverterMap.get(TypeUtil.getClass(type)); + Class key = TypeUtil.getClass(type); + return (null == defaultConverterMap || null == key) ? null : (Converter) defaultConverterMap.get(key); } /** diff --git a/hutool-json/src/test/java/cn/hutool/json/Issue3504Test.java b/hutool-json/src/test/java/cn/hutool/json/Issue3504Test.java new file mode 100644 index 000000000..577dbe6da --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/Issue3504Test.java @@ -0,0 +1,26 @@ +package cn.hutool.json; + +import lombok.Data; +import org.junit.Test; + +/** + * https://github.com/dromara/hutool/issues/3504 + */ +public class Issue3504Test { + + @Test + public void test3504() { + JsonBean jsonBean = new JsonBean(); + jsonBean.setName("test"); + jsonBean.setClasses(new Class[]{String.class}); + String huToolJsonStr = JSONUtil.toJsonStr(jsonBean); + System.out.println("hutool json str-------" + huToolJsonStr); + System.out.println(JSONUtil.toBean(huToolJsonStr, JsonBean.class)); + } + + @Data + public static class JsonBean { + private String name; + private Class[] classes; + } +}