mirror of
https://gitee.com/dromara/hutool.git
synced 2025-04-05 17:37:59 +08:00
fix 3506
This commit is contained in:
parent
9ef714ad53
commit
f2b347dc9d
hutool-json/src
@ -796,6 +796,11 @@ public class JSONUtil {
|
||||
return object.toString();
|
||||
}
|
||||
|
||||
// Class类型保存类名
|
||||
if (object instanceof Class<?>) {
|
||||
return ((Class<?>) object).getName();
|
||||
}
|
||||
|
||||
// Java内部类不做转换
|
||||
if (ClassUtil.isJdkClass(object.getClass())) {
|
||||
return object.toString();
|
||||
|
30
hutool-json/src/test/java/cn/hutool/json/Issue3506Test.java
Normal file
30
hutool-json/src/test/java/cn/hutool/json/Issue3506Test.java
Normal file
@ -0,0 +1,30 @@
|
||||
package cn.hutool.json;
|
||||
|
||||
import lombok.Data;
|
||||
import org.junit.Test;
|
||||
|
||||
/**
|
||||
* https://github.com/dromara/hutool/issues/3506
|
||||
*/
|
||||
public class Issue3506Test {
|
||||
|
||||
@Test
|
||||
public void test3506() {
|
||||
Languages languages = new Languages();
|
||||
languages.setLanguageType(Java.class);
|
||||
String hutoolJSONString = JSONUtil.toJsonStr(languages);
|
||||
System.out.println(hutoolJSONString);
|
||||
System.out.println(JSONUtil.toBean(hutoolJSONString, Languages.class));
|
||||
}
|
||||
|
||||
@Data
|
||||
public static class Languages {
|
||||
private Class<? extends Language> languageType;
|
||||
}
|
||||
|
||||
public interface Language {
|
||||
}
|
||||
|
||||
public static class Java implements Language {
|
||||
}
|
||||
}
|
Loading…
Reference in New Issue
Block a user