package com.yj.earth.common.util; import com.fasterxml.jackson.core.JsonProcessingException; import com.fasterxml.jackson.core.type.TypeReference; import com.fasterxml.jackson.databind.ObjectMapper; import lombok.extern.slf4j.Slf4j; import java.util.HashMap; import java.util.Map; /** * Map与JSON互相转换工具类 */ @Slf4j public class JsonMapConverter { private static final ObjectMapper objectMapper = new ObjectMapper(); /** * 将 Map 转换为 JSON 字符串 */ public static String mapToJson(Map map) { if (map == null || map.isEmpty()) { return "{}"; } try { return objectMapper.writeValueAsString(map); } catch (JsonProcessingException e) { log.error("Map转JSON失败", e); return null; } } /** * 将 JSON 字符串转换为 Map */ public static Map jsonToMap(String json) { if (json == null || json.trim().isEmpty()) { return new HashMap<>(0); } try { return objectMapper.readValue(json, new TypeReference>() {}); } catch (Exception e) { log.error("JSON转Map失败、JSON内容: {}", json, e); return new HashMap<>(0); } } }