修复xml转json再转bean失败问题

This commit is contained in:
Looly
2023-06-14 13:33:33 +08:00
parent bd50e7f474
commit fbe0d5d3cd
18 changed files with 170 additions and 36 deletions

View File

@@ -39,7 +39,7 @@ public class BeanUtilTest {
public void isBeanTest() {
// HashMap不包含setXXX方法不是bean
final boolean isBean = BeanUtil.isBean(HashMap.class);
final boolean isBean = BeanUtil.isWritableBean(HashMap.class);
Assertions.assertFalse(isBean);
}

View File

@@ -24,15 +24,16 @@ import java.util.List;
public class FileUtilTest {
@Test
public void fileTest() {
void fileTest1() {
final File file = FileUtil.file("d:/aaa", "bbb");
Assertions.assertNotNull(file);
}
@Test
public void fileTest2() {
Assertions.assertThrows(IllegalArgumentException.class, ()->{
final File file = FileUtil.file("d:/aaa", "bbb");
Assertions.assertNotNull(file);
// 构建目录中出现非子目录抛出异常
FileUtil.file(file, "../ccc");
FileUtil.file("E:/");
FileUtil.file("d:/aaa/bbb", "../ccc");
});
}

View File

@@ -32,6 +32,7 @@ import org.xml.sax.helpers.DefaultHandler;
import javax.xml.xpath.XPathConstants;
import java.util.LinkedHashMap;
import java.util.List;
import java.util.Map;
import java.util.Set;
@@ -380,4 +381,29 @@ public class XmlUtilTest {
private String age;
private String email;
}
@Test
public void issue3139Test() {
final String xml = "<r>\n" +
" <c>\n" +
" <s>1</s>\n" +
" <p>str</p>\n" +
" </c>\n" +
"</r>";
final R r = XmlUtil.xmlToBean(XmlUtil.parseXml(xml), R.class);
Assertions.assertEquals("1", r.getC().get(0).getS());
Assertions.assertEquals("str", r.getC().get(0).getP());
}
@Data
static class C {
String s;
String p;
}
@Data
static class R {
List<C> c;
}
}