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);
							 | 
						||
| 
								 | 
							
								        }
							 | 
						||
| 
								 | 
							
								    }
							 | 
						||
| 
								 | 
							
								}
							 |