mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-07-21 15:09:48 +08:00
fix bugs
This commit is contained in:
@@ -1,11 +1,11 @@
|
||||
package cn.hutool.json;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
import cn.hutool.core.util.ArrayUtil;
|
||||
import cn.hutool.core.util.CharUtil;
|
||||
import cn.hutool.core.util.EscapeUtil;
|
||||
import cn.hutool.core.util.StrUtil;
|
||||
import cn.hutool.core.util.XmlUtil;
|
||||
|
||||
import java.util.Iterator;
|
||||
|
||||
/**
|
||||
* 提供静态方法在XML和JSONObject之间转换
|
||||
@@ -299,11 +299,11 @@ public class XML {
|
||||
if (i > 0) {
|
||||
sb.append('\n');
|
||||
}
|
||||
sb.append(XmlUtil.escape(val.toString()));
|
||||
sb.append(EscapeUtil.escapeHtml4(val.toString()));
|
||||
i++;
|
||||
}
|
||||
} else {
|
||||
sb.append(XmlUtil.escape(value.toString()));
|
||||
sb.append(EscapeUtil.escapeHtml4(value.toString()));
|
||||
}
|
||||
|
||||
// Emit an array of similar keys
|
||||
@@ -345,24 +345,22 @@ public class XML {
|
||||
|
||||
}
|
||||
|
||||
if (object != null) {
|
||||
if (object.getClass().isArray()) {
|
||||
object = new JSONArray(object);
|
||||
}
|
||||
|
||||
if (object instanceof JSONArray) {
|
||||
ja = (JSONArray) object;
|
||||
for (Object val : ja) {
|
||||
// XML does not have good support for arrays. If an array
|
||||
// appears in a place where XML is lacking, synthesize an
|
||||
// <array> element.
|
||||
sb.append(toXml(val, tagName == null ? "array" : tagName));
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
if (object.getClass().isArray()) {
|
||||
object = new JSONArray(object);
|
||||
}
|
||||
|
||||
String string = (object == null) ? StrUtil.NULL : XmlUtil.escape(object.toString());
|
||||
if (object instanceof JSONArray) {
|
||||
ja = (JSONArray) object;
|
||||
for (Object val : ja) {
|
||||
// XML does not have good support for arrays. If an array
|
||||
// appears in a place where XML is lacking, synthesize an
|
||||
// <array> element.
|
||||
sb.append(toXml(val, tagName == null ? "array" : tagName));
|
||||
}
|
||||
return sb.toString();
|
||||
}
|
||||
|
||||
String string = EscapeUtil.escapeHtml4(object.toString());
|
||||
return (tagName == null) ?
|
||||
"\"" + string + "\"" : (string.length() == 0) ? "<" + tagName + "/>"
|
||||
: "<" + tagName + ">" + string + "</" + tagName + ">";
|
||||
|
15
hutool-json/src/test/java/cn/hutool/json/XMLTest.java
Normal file
15
hutool-json/src/test/java/cn/hutool/json/XMLTest.java
Normal file
@@ -0,0 +1,15 @@
|
||||
package cn.hutool.json;
|
||||
|
||||
import org.junit.Assert;
|
||||
import org.junit.Test;
|
||||
|
||||
public class XMLTest {
|
||||
|
||||
@SuppressWarnings("ConstantConditions")
|
||||
@Test
|
||||
public void toXmlTest(){
|
||||
final JSONObject put = JSONUtil.createObj().put("aaa", "你好").put("键2", "test");
|
||||
final String s = JSONUtil.toXmlStr(put);
|
||||
Assert.assertEquals("<aaa>你好</aaa><键2>test</键2>", s);
|
||||
}
|
||||
}
|
Reference in New Issue
Block a user