From 369d61e56e986485eb226d81688fc35e2ab3a592 Mon Sep 17 00:00:00 2001 From: achao Date: Wed, 19 Jul 2023 22:13:51 +0800 Subject: [PATCH] =?UTF-8?q?=E6=8F=90=E4=BA=A4=E9=92=88=E5=AF=B9https://git?= =?UTF-8?q?ee.com/dromara/hutool/issues/I7M2GZ=E7=9A=84=E5=8D=95=E5=85=83?= =?UTF-8?q?=E6=B5=8B=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../java/cn/hutool/json/issueI7M2GZTest.java | 73 +++++++++++++++++++ 1 file changed, 73 insertions(+) create mode 100644 hutool-json/src/test/java/cn/hutool/json/issueI7M2GZTest.java diff --git a/hutool-json/src/test/java/cn/hutool/json/issueI7M2GZTest.java b/hutool-json/src/test/java/cn/hutool/json/issueI7M2GZTest.java new file mode 100644 index 000000000..73a578784 --- /dev/null +++ b/hutool-json/src/test/java/cn/hutool/json/issueI7M2GZTest.java @@ -0,0 +1,73 @@ +package cn.hutool.json; + +import cn.hutool.core.lang.TypeReference; +import org.junit.Assert; +import org.junit.Test; + +import java.util.ArrayList; +import java.util.List; + +/** + * https://gitee.com/dromara/hutool/issues/I7M2GZ + */ +public class issueI7M2GZTest { + + public static class JSONBeanParserImpl implements JSONBeanParser { + private String name; + private Boolean isParsed; + + public Boolean getParsed() { + return isParsed; + } + + public void setParsed(Boolean parsed) { + isParsed = parsed; + } + + public String getName() { + return name; + } + + public void setName(String name) { + this.name = name; + } + + public JSONBeanParserImpl() { + } + + public JSONBeanParserImpl(String name) { + this.name = name; + } + + @Override + public void parse(Object object) { + setParsed(true); + } + } + + public static class MyEntity { + private List list; + + public List getList() { + return list; + } + + public void setList(List list) { + this.list = list; + } + } + + @Test + public void toListTest() { + List list = new ArrayList<>(); + list.add(new JSONBeanParserImpl("Object1")); + + MyEntity entity = new MyEntity<>(); + entity.setList(list); + String json = JSONUtil.toJsonStr(entity); + MyEntity result = JSONUtil.toBean(json, new TypeReference>() { + }, false); + Assert.assertEquals("Object1", result.getList().get(0).getName()); + Assert.assertNotNull(result.getList().get(0).getParsed()); + } +}