51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
			
		
		
	
	
			51 lines
		
	
	
		
			1.3 KiB
		
	
	
	
		
			Java
		
	
	
	
	
	
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<String, Object> 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<String, Object> jsonToMap(String json) {
 | 
						|
        if (json == null || json.trim().isEmpty()) {
 | 
						|
            return new HashMap<>(0);
 | 
						|
        }
 | 
						|
 | 
						|
        try {
 | 
						|
            return objectMapper.readValue(json, new TypeReference<Map<String, Object>>() {});
 | 
						|
        } catch (Exception e) {
 | 
						|
            log.error("JSON转Map失败、JSON内容: {}", json, e);
 | 
						|
            return new HashMap<>(0);
 | 
						|
        }
 | 
						|
    }
 | 
						|
}
 |