首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >开发:随笔记录之 Json字符串 与 List、HashMap对象的转换

开发:随笔记录之 Json字符串 与 List、HashMap对象的转换

作者头像
执笔记忆的空白
发布2020-12-25 10:47:42
发布2020-12-25 10:47:42
9480
举报
文章被收录于专栏:Java日常Java日常

import java.util.ArrayList; import java.util.HashMap; import java.util.List; import java.util.Map; import java.util.Map.Entry; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import net.sf.json.JsonConfig; import net.sf.json.util.JSONUtils; public class JsonParser { /** * json字符串 转成 map * * @param jsonStr * @return * @throws Exception */ public static HashMap<String, JsonValue> parse(String jsonStr) { if (jsonStr == null || "".equals(jsonStr)) { return null; } HashMap<String, JsonValue> retMap = null; try { retMap = new HashMap<String, JsonValue>(); JSONObject json = JSONObject.fromObject(jsonStr); Map<String, Object> tmpMap = (Map<String, Object>) JSONObject .toBean(json, Map.class); for (Map.Entry<String, Object> entry : tmpMap.entrySet()) { JsonValue tmp = parseRec(entry.getValue(), 0); retMap.put(entry.getKey(), tmp); } } catch (Exception e) { // TODO Auto-generated catch block e.printStackTrace(); } return retMap; } /** * json字符串 转成 List * * @param jsonStr * @return * @throws Exception */ public static List<HashMap<String, JsonValue>> parseList(String jsonStr) { if (jsonStr == null || "".equals(jsonStr)) { return null; } List<HashMap<String, JsonValue>> retList = new ArrayList<HashMap<String, JsonValue>>(); JSONArray data = JSONArray.fromObject(jsonStr); for (int i = 0; i < data.size(); i++) { HashMap<String, JsonValue> retMap = new HashMap<String, JsonValue>(); JSONObject json = (JSONObject) data.get(i); Map<String, Object> tmpMap = (Map<String, Object>) JSONObject .toBean(json, Map.class); for (Map.Entry<String, Object> entry : tmpMap.entrySet()) { JsonValue tmp = parseRec(entry.getValue(), 0); retMap.put(entry.getKey(), tmp); } retList.add(retMap); } return retList; } /** * HashMap<String, JsonValue> map 转成 json字符串 * * @param jsonStr * @return * @throws Exception */ public static String parse(HashMap<String, JsonValue> map) { HashMap<String, Object> retMap = new HashMap<String, Object>(); for (Map.Entry<String, JsonValue> entry : map.entrySet()) { Object tmp = parseJsonValueRec(entry.getValue(), 0); retMap.put(entry.getKey(), tmp); } JsonConfig jc = new JsonConfig(); return JSONObject.fromObject(retMap, jc).toString(); } /** * List<HashMap<String, JsonValue>> list 转成 json字符串 * * @param jsonStr * @return * @throws Exception */ public static String parse(List<HashMap<String, JsonValue>> list) { List<HashMap<String, Object>> tmpList = new ArrayList<HashMap<String, Object>>(); for (HashMap<String, JsonValue> map : list) { HashMap<String, Object> retMap = new HashMap<String, Object>(); for (Map.Entry<String, JsonValue> entry : map.entrySet()) { Object tmp = parseJsonValueRec(entry.getValue(), 0); retMap.put(entry.getKey(), tmp); } tmpList.add(retMap); } JSONArray json = new JSONArray(); json.addAll(tmpList); return json.toString(); } /** * 构建json * * @param map * @return */ public static String parse(Map map) { JsonConfig jc = new JsonConfig(); return JSONObject.fromObject(map, jc).toString(); } 对了,json的版本我用的是json-lib-2.4-jdk15.jar

本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2014/05/04 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档