mirror of
https://gitee.com/chinabugotech/hutool.git
synced 2025-05-09 23:51:34 +08:00
fix json bug
This commit is contained in:
parent
9b2fc8aecf
commit
d4ee12562b
@ -8,6 +8,7 @@
|
|||||||
### 新特性
|
### 新特性
|
||||||
* 【core 】 增加ISO8601日期格式(issue#904@Github)
|
* 【core 】 增加ISO8601日期格式(issue#904@Github)
|
||||||
### Bug修复
|
### Bug修复
|
||||||
|
* 【json 】 修复append方法导致的JSONConfig传递失效问题(issue#906@Github)
|
||||||
|
|
||||||
-------------------------------------------------------------------------------------------------------------
|
-------------------------------------------------------------------------------------------------------------
|
||||||
|
|
||||||
|
@ -282,7 +282,7 @@ public class JSONObject implements JSON, JSONGetter<String>, Map<String, Object>
|
|||||||
if (CollectionUtil.isEmpty(names)) {
|
if (CollectionUtil.isEmpty(names)) {
|
||||||
return null;
|
return null;
|
||||||
}
|
}
|
||||||
final JSONArray ja = new JSONArray();
|
final JSONArray ja = new JSONArray(this.config);
|
||||||
Object value;
|
Object value;
|
||||||
for (String name : names) {
|
for (String name : names) {
|
||||||
value = this.get(name);
|
value = this.get(name);
|
||||||
@ -432,11 +432,11 @@ public class JSONObject implements JSON, JSONGetter<String>, Map<String, Object>
|
|||||||
InternalJSONUtil.testValidity(value);
|
InternalJSONUtil.testValidity(value);
|
||||||
Object object = this.getObj(key);
|
Object object = this.getObj(key);
|
||||||
if (object == null) {
|
if (object == null) {
|
||||||
this.put(key, value instanceof JSONArray ? new JSONArray().set(value) : value);
|
this.put(key, value instanceof JSONArray ? new JSONArray(this.config).set(value) : value);
|
||||||
} else if (object instanceof JSONArray) {
|
} else if (object instanceof JSONArray) {
|
||||||
((JSONArray) object).set(value);
|
((JSONArray) object).set(value);
|
||||||
} else {
|
} else {
|
||||||
this.set(key, new JSONArray().set(object).set(value));
|
this.set(key, new JSONArray(this.config).set(object).set(value));
|
||||||
}
|
}
|
||||||
return this;
|
return this;
|
||||||
}
|
}
|
||||||
@ -453,7 +453,7 @@ public class JSONObject implements JSON, JSONGetter<String>, Map<String, Object>
|
|||||||
InternalJSONUtil.testValidity(value);
|
InternalJSONUtil.testValidity(value);
|
||||||
Object object = this.getObj(key);
|
Object object = this.getObj(key);
|
||||||
if (object == null) {
|
if (object == null) {
|
||||||
this.set(key, new JSONArray().set(value));
|
this.set(key, new JSONArray(this.config).set(value));
|
||||||
} else if (object instanceof JSONArray) {
|
} else if (object instanceof JSONArray) {
|
||||||
this.set(key, ((JSONArray) object).set(value));
|
this.set(key, ((JSONArray) object).set(value));
|
||||||
} else {
|
} else {
|
||||||
|
@ -404,6 +404,19 @@ public class JSONObjectTest {
|
|||||||
Assert.assertEquals(new Integer(35), bean.getValue2());
|
Assert.assertEquals(new Integer(35), bean.getValue2());
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Test
|
||||||
|
public void setDateFormatTest(){
|
||||||
|
JSONConfig jsonConfig = JSONConfig.create();
|
||||||
|
jsonConfig.setDateFormat("yyyy-MM-dd HH:mm:ss");
|
||||||
|
jsonConfig.setOrder(true);
|
||||||
|
|
||||||
|
JSONObject json = new JSONObject(jsonConfig);
|
||||||
|
json.append("date", DateUtil.parse("2020-06-05 11:16:11"));
|
||||||
|
json.append("bbb", "222");
|
||||||
|
json.append("aaa", "123");
|
||||||
|
Assert.assertEquals("{\"date\":[\"2020-06-05 11:16:11\"],\"bbb\":[\"222\"],\"aaa\":[\"123\"]}", json.toString());
|
||||||
|
}
|
||||||
|
|
||||||
public enum TestEnum {
|
public enum TestEnum {
|
||||||
TYPE_A, TYPE_B
|
TYPE_A, TYPE_B
|
||||||
}
|
}
|
||||||
|
Loading…
x
Reference in New Issue
Block a user