Looly 5 years ago
parent
commit
a09861b033

+ 1 - 0
CHANGELOG.md

@@ -28,6 +28,7 @@
 * 【poi    】     修复ExcelUtil.getSaxReader使用非MarkSupport流报错问题(issue#1225@Github)
 * 【core   】     修复HexUtil.format问题(issue#I268XT@Gitee)
 * 【core   】     修复ZipUtil判断压缩文件是否位于压缩目录内的逻辑有误的问题(issue#1251@Github)
+* 【json   】     修复JSONObject.accumulate问题
 
 -------------------------------------------------------------------------------------------------------------
 

+ 1 - 1
hutool-json/src/main/java/cn/hutool/json/JSONObject.java

@@ -432,7 +432,7 @@ public class JSONObject implements JSON, JSONGetter<String>, Map<String, Object>
 		InternalJSONUtil.testValidity(value);
 		Object object = this.getObj(key);
 		if (object == null) {
-			this.set(key, value instanceof JSONArray ? new JSONArray(this.config).set(value) : value);
+			this.set(key, (value instanceof JSONArray) ? value : new JSONArray(this.config).set(value));
 		} else if (object instanceof JSONArray) {
 			((JSONArray) object).set(value);
 		} else {

+ 6 - 0
hutool-json/src/test/java/cn/hutool/json/JSONObjectTest.java

@@ -535,4 +535,10 @@ public class JSONObjectTest {
 		final String s = JSONUtil.toJsonStr(map);
 		Console.log(s);
 	}
+
+	@Test
+	public void accumulateTest(){
+		final JSONObject accumulate = JSONUtil.createObj().accumulate("key1", "value1");
+		Assert.assertEquals("{\"key1\":[\"value1\"]}", accumulate.toString());
+	}
 }