From 3d3a1d90cad0da669568b0e3babbc3aa9af1b02b Mon Sep 17 00:00:00 2001 From: Looly Date: Tue, 18 Jun 2024 10:21:45 +0800 Subject: [PATCH] add test --- .../dromara/hutool/json/Issue3619Test.java | 25 +++++++++++++++++++ 1 file changed, 25 insertions(+) create mode 100644 hutool-json/src/test/java/org/dromara/hutool/json/Issue3619Test.java diff --git a/hutool-json/src/test/java/org/dromara/hutool/json/Issue3619Test.java b/hutool-json/src/test/java/org/dromara/hutool/json/Issue3619Test.java new file mode 100644 index 000000000..689fe14d6 --- /dev/null +++ b/hutool-json/src/test/java/org/dromara/hutool/json/Issue3619Test.java @@ -0,0 +1,25 @@ +package org.dromara.hutool.json; + +import org.junit.jupiter.api.Assertions; +import org.junit.jupiter.api.Test; + +public class Issue3619Test { + @Test + public void parseObjTest() { + final String json = "{\"@timestamp\":\"2024-06-14T00:02:06.438Z\",\"@version\":\"1\",\"int_arr\":[-4]}"; + final JSONConfig jsonConfig = JSONConfig.of().setKeyComparator(String.CASE_INSENSITIVE_ORDER); + final JSONObject jsonObject = JSONUtil.parseObj(json, jsonConfig); + + final String jsonStr = jsonObject.toJSONString(0, pair -> { + final Object key = pair.getKey(); + if(key instanceof String){ + // 只有key为String时才检查并过滤,其它类型的key,如int类型的key跳过 + return key.toString().equals("int_arr"); + }else{ + return true; + } + }); + + Assertions.assertEquals("{\"int_arr\":[-4]}", jsonStr); + } +}