修复JSONUtil序列化和反序列化预期的结果不一致问题

This commit is contained in:
Looly
2024-03-06 17:24:34 +08:00
parent 0a8af560ab
commit 051ce35828
4 changed files with 62 additions and 1 deletions

View File

@@ -0,0 +1,24 @@
package org.dromara.hutool.json;
import lombok.Data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class Issue3504Test {
@Test
public void test3504() {
final JsonBean jsonBean = new JsonBean();
jsonBean.setName("test");
jsonBean.setClasses(new Class[]{String.class});
final String huToolJsonStr = JSONUtil.toJsonStr(jsonBean);
final JsonBean bean = JSONUtil.toBean(huToolJsonStr, JsonBean.class);
Assertions.assertNotNull(bean);
Assertions.assertEquals("test", bean.getName());
}
@Data
public static class JsonBean {
private String name;
private Class<?>[] classes;
}
}

View File

@@ -0,0 +1,30 @@
package org.dromara.hutool.json;
import lombok.Data;
import org.junit.jupiter.api.Assertions;
import org.junit.jupiter.api.Test;
public class Issue3506Test {
@Test
void toBeanTest() {
final Languages languages = new Languages();
languages.setLanguageType(Java.class);
final String hutoolJSONString = JSONUtil.toJsonStr(languages);
final Languages bean = JSONUtil.toBean(hutoolJSONString, Languages.class);
Assertions.assertNotNull(bean);
Assertions.assertEquals(bean.getLanguageType(), Java.class);
}
@Data
public static class Languages {
private Class<? extends Language> languageType;
}
public interface Language {
}
public static class Java implements Language {
}
}