Json和map相互转换工具类
2015-10-03 11:15
871 查看
在项目开发的时候碰到了别人写的一个工具类,挺好的就记录了下来。
import java.util.ArrayList; import java.util.HashMap; import java.util.Iterator; import java.util.List; import java.util.Map; import java.util.Set; import net.sf.json.JSONArray; import net.sf.json.JSONObject; import org.apache.log4j.Logger; public class JsonToMapUtils { /** 日志文件生成器 */ private static Logger log = Logger.getLogger(JsonToMapUtils.class); @SuppressWarnings("unchecked") public static Map<String, Object> parseJsonToMap(String jsonStr){ Map<String, Object> map = new HashMap<String, Object>(); //最外层解析 JSONObject json = JSONObject.fromObject(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<JSONObject> it = ((JSONArray)v).iterator(); while(it.hasNext()){ JSONObject json2 = it.next(); list.add(parseJsonToMap(json2.toString())); } map.put(k.toString(), list); log.info("k.toString()="+k.toString()+"list="+list); } else { map.put(k.toString(), v); log.info("k.toString()="+k.toString()+"v="+v); } } return map; } public static String mapToJson(Map<String, String> map) { Set<String> keys = map.keySet(); String key = ""; String value = ""; StringBuffer jsonBuffer = new StringBuffer(); jsonBuffer.append("{"); for (Iterator<String> it = keys.iterator(); it.hasNext();) { key = (String) it.next(); value = map.get(key); jsonBuffer.append(key + ":" +"\""+ value+"\""); if (it.hasNext()) { jsonBuffer.append(","); } } jsonBuffer.append("}"); return jsonBuffer.toString(); } }
相关文章推荐
- JS中的定时器
- javascript 单体模式
- JSP知识总结
- javascript接口实现
- JS学习笔记
- JSP之Cookie的实现
- JSP之Cookie的实现
- JSON的学习与使用
- javascript中argument1 === void 0的意思
- JS获取浏览器的高度和宽度
- JS操作Cookies的小例子
- 使用ExtJs实现文件下载
- JavaScript权威指南学习之第6章 对象
- JavaScript设计模式——工厂模式
- Atitit.列表页and查询条件的最佳实践(1)------设定搜索条件and提交查询and返回json数据
- 常规功能和模块自定义系统 (cfcmms)—011选择菜单后的执行过程
- 浅谈javascript的五种基本数据类型
- 添加附件、删除附件
- 所有jsp页面报错
- 动态创建表格、删除单行、单列