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;