This commit is contained in:
Looly 2023-10-24 00:29:28 +08:00
parent 7f4be2b639
commit 0ea87a38e6

View File

@ -17,19 +17,24 @@ import org.junit.jupiter.api.Test;
import java.util.HashMap;
/**
* FastJSON和Hutool不同策略测试<br>
* 在put时Hutool采用即时转换的方式不再与原对象有关联<br>
* 而FastJSON采用暂存方式put进JSONObject的对象不变只有序列化时转换
*/
public class IssueI7VM64Test {
@SuppressWarnings("MismatchedQueryAndUpdateOfCollection")
@Test
void hutoolJSONTest() {
final HashMap<String, Object> map = new HashMap<>();
map.put("a", "1");
final JSONObject jsonObject = new JSONObject(map);
final JSONObject jsonObject = new JSONObject();
jsonObject.put("c", map);
map.put("b", 2);
//Console.log("Hutool JSON: " + jsonObject);
Assertions.assertEquals("{\"a\":\"1\"}", jsonObject.toString());
Assertions.assertEquals("{\"c\":{\"a\":\"1\"}}", jsonObject.toString());
}
@Test
@ -37,11 +42,13 @@ public class IssueI7VM64Test {
final HashMap<String, Object> map = new HashMap<>();
map.put("a", "1");
final com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject(map);
final com.alibaba.fastjson.JSONObject jsonObject = new com.alibaba.fastjson.JSONObject();
jsonObject.put("c", map);
map.put("b", 2);
//Console.log("FastJSON: " + jsonObject);
Assertions.assertEquals("{\"a\":\"1\",\"b\":2}", jsonObject.toString());
Assertions.assertEquals("{\"c\":{\"a\":\"1\",\"b\":2}}", jsonObject.toString());
}
@Test
@ -49,10 +56,12 @@ public class IssueI7VM64Test {
final HashMap<String, Object> map = new HashMap<>();
map.put("a", "1");
final com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject(map);
final com.alibaba.fastjson2.JSONObject jsonObject = new com.alibaba.fastjson2.JSONObject();
jsonObject.put("c", map);
map.put("b", 2);
//Console.log("FastJSON2 " + jsonObject);
Assertions.assertEquals("{\"a\":\"1\"}", jsonObject.toString());
Assertions.assertEquals("{\"c\":{\"a\":\"1\",\"b\":2}}", jsonObject.toString());
}
}