转:JSON与Map互转
JSON字符串与Map互转
//一、map转为json字符串
public static String map2jsonstr(Map<String,?> map){ return JSONObject.toJSONString(map); }
//二、json字符串转Map对象
public static Map<String,?> jsonstr2map(String jsonstr){ return JSONObject.parseObject(jsonstr); }
//三、json字符串转Map对象
public static Map<String, Object> parseJSON2Map(String jsonStr){ Map<String, Object> map = new HashMap<String, Object>(); JSONObject json = JSONObject.parseObject(jsonStr); for(Object k : json.keySet()){ Object v = json.get(k); if(v instanceof JSONArray){ List<Map<String, Object>> list = new ArrayList<Map<String,Object>>(); Iterator<Object> it = ((JSONArray)v).iterator(); while(it.hasNext()){ JSONObject json2 = (JSONObject)it.next(); list.add(parseJSON2Map(json2.toString())); } map.put(k.toString(), list); } else { map.put(k.toString(), v); }
}
return map;
}
测试:
public static void main(String[] args) { try { List list = new ArrayList(); Map<String,Object> map = new HashMap<String,Object>(); list.add(1); list.add("b"); map.put("name", "a"); map.put("age", 12); map.put("name", "a"); map.put("list", list); String jsonstr = map2jsonstr(map); System.out.println("json字符串:" + jsonstr); System.out.println("map对象"+jsonstr2map(jsonstr)); } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } }
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· 开发者必知的日志记录最佳实践
· SQL Server 2025 AI相关能力初探
· Linux系列:如何用 C#调用 C方法造成内存泄露
· AI与.NET技术实操系列(二):开始使用ML.NET
· 无需6万激活码!GitHub神秘组织3小时极速复刻Manus,手把手教你使用OpenManus搭建本
· C#/.NET/.NET Core优秀项目和框架2025年2月简报
· Manus爆火,是硬核还是营销?
· 一文读懂知识蒸馏
· 终于写完轮子一部分:tcp代理 了,记录一下