From 17d29fc21df48480df84fc65257aa2a9757e8365 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=8D=8E=E4=BD=97?= Date: Sat, 13 Jun 2026 13:51:29 +0800 Subject: [PATCH] =?UTF-8?q?fix(#758):=20DictUtils=20=E7=A7=BB=E9=99=A4=20f?= =?UTF-8?q?astjson2=EF=BC=8C=E7=BB=9F=E4=B8=80=E4=BD=BF=E7=94=A8=20jackson?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit - com.alibaba.fastjson2.JSONArray → jackson ObjectMapper - com.alibaba.fastjson2.JSON.toJSONString/parseObject → mapper.writeValueAsString/readValue - 项目统一使用 jackson,不再依赖 fastjson2 --- .../main/java/com/core/common/utils/DictUtils.java | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/healthlink-his-server/core-common/src/main/java/com/core/common/utils/DictUtils.java b/healthlink-his-server/core-common/src/main/java/com/core/common/utils/DictUtils.java index 64aaaaf3a..f465571fc 100755 --- a/healthlink-his-server/core-common/src/main/java/com/core/common/utils/DictUtils.java +++ b/healthlink-his-server/core-common/src/main/java/com/core/common/utils/DictUtils.java @@ -1,6 +1,7 @@ package com.core.common.utils; -import com.alibaba.fastjson2.JSONArray; +import com.fasterxml.jackson.core.type.TypeReference; +import com.fasterxml.jackson.databind.ObjectMapper; import com.core.common.constant.CacheConstants; import com.core.common.core.domain.entity.SysDictData; import com.core.common.core.redis.RedisCache; @@ -46,19 +47,17 @@ public class DictUtils { if (cached == null) { return null; } - if (cached instanceof JSONArray arrayCache) { - return arrayCache.toList(SysDictData.class); - } if (cached instanceof List list) { // Redis缓存可能已反序列化为List,尝试逐个转换 java.util.ArrayList result = new java.util.ArrayList<>(list.size()); + ObjectMapper mapper = SpringUtils.getBean(ObjectMapper.class); for (Object item : list) { if (item instanceof SysDictData dictData) { result.add(dictData); } else { - // 尝试通过JSON转换 - String json = com.alibaba.fastjson2.JSON.toJSONString(item); - result.add(com.alibaba.fastjson2.JSON.parseObject(json, SysDictData.class)); + // 通过 Jackson JSON 转换 + String json = mapper.writeValueAsString(item); + result.add(mapper.readValue(json, SysDictData.class)); } } return result;