JSON-Lib方式

/**
  * 函数注释:parseJSON2Map()<br>
  * 用途:该方法用于json数据转换为<Map<String, Object>
  * @param jsonStr
  * @return
  */
public static Map<String, Object> parseJSON2Map(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(parseJSON2Map(json2.toString()));  
            }  
            map.put(k.toString(), list);  
        } else {  
            map.put(k.toString(), v);  
        }  
    }  
    return map;  
}  
/**
  * 函数注释:parseJSON2MapString()<br>
  * 用途:该方法用于json数据转换为<Map<String, String><br>
  */
public static Map<String, String> parseJSON2MapString(String jsonStr){  
    Map<String, String> map = new HashMap<String, String>();  
    //最外层解析  
    JSONObject json = JSONObject.fromObject(jsonStr);  
    for(Object k : json.keySet()){ 
        Object v = json.get(k);   
        if(null!=v){
         map.put(k.toString(), v.toString());  
        }
    }  
    return map;  
}

Jackson方式

/**
 * Map转换JSON
 * @param map
 * @return
 * @throws Exception
 */
public static String mapConvert2JSON(Map map) throws Exception{
    ObjectMapper mapper = new ObjectMapper();
    return mapper.writeValueAsString(map);
} /**
 * JSON 转换 Map
 * @param json
 */
public static Map readJson2Map(String json) throws Exception{
    ObjectMapper objectMapper = new ObjectMapper();
    Map<String, Map<String, Object>> maps = objectMapper.readValue(json, Map.class);
    /*Set<String> key = maps.keySet();
    Iterator<String> iter = key.iterator();
    while (iter.hasNext()) {
        String field = iter.next();
        System.out.println(field + ":" + maps.get(field));
    }*/
    return maps;
}
本段代码来自 http://www.ibloger.net/article/2470.html

Map和JSON的互相转换的更多相关文章

  1. map和json之间的转换

    Action中在session中存放了一个map<String,Object>,跳转到a.jsp,a.jsp通过form提交到BAction,BAction可从session中获得map值 ...

  2. Java处理JSON的工具类(List、Map和JSON之间的转换)——依赖jsonlib支持Map嵌套

    原文链接:http://www.itjhwd.com/java_json/ 代码 package com.itjh.mmp.util; import java.io.BufferedReader; i ...

  3. Go语言高级特性总结——Struct、Map与JSON之间的转化

    Struct与Map之间互相转换 // Struct2Map convert struct to map func Struct2Map(st interface{}) map[string]inte ...

  4. [转]Json字符串和map和HashMap之间的转换

    需要导入alibaba.fastJsonmaven中的依赖为 <!-- https://mvnrepository.com/artifact/com.alibaba/fastjson --> ...

  5. 将java中Map对象转为有相同属性的类对象(json作为中间转换)

    java中Map对象转为有相同属性的类对象(json作为中间转换) 准备好json转换工具类 public class JsonUtil { private static ObjectMapper o ...

  6. ES6中Json、String、Map、Object之间的转换

    /** *字符串转json * */ static stringToJson(data){ return JSON.parse(data); } /** *json转字符串 */ static jso ...

  7. Java中把对象、对象bean、list集合、对象数组、Map和Set以及字符串转换成Json

    对象转换为Json 对象bean转换为Json List集合转换为Json 对象数组转换为Json Map集合转换为Json Set集合转为Json 字符串转换为Json 把Java对常用的一些数据转 ...

  8. java bean、List、数组、map和Json的相互转化

    工程 json包为  代码 package com.my.json; public class ChildBean { private String childName; private String ...

  9. Android项目开发全程(四)-- 将网络返回的json字符串轻松转换成listview列表

    前面几篇博文介绍了从项目搭建到获取网络字符串,对一个项目的前期整体工作进行了详细的介绍,本篇接着上篇介绍一下怎么样优雅将网络返回的json字符串轻松转换成listview列表. 先上图,看一下效果. ...

随机推荐

  1. 使用树莓派3获取CPU温度

    一.命令: cat /sys/class/thermal/thermal_zone0/temp 二.上图:

  2. Linux中禁用THP(Transparent Huge Pages)

    一.简介 Centos6开始引入THP,Centos7时默认启用,用来提升内存性能. 二.说明 争对一些数据库,如Oracle.MariaDB.MongoDB.VoltDB在使用时,要求关闭此功能. ...

  3. C++ 第九课 标准c数学函数

    abs() 求绝对值 acos() 求反余弦 asin() 求反正弦 atan() 求反正切 atan2() 求反正切,按符号判定象限 ceil() 求不小于某值的最小整数 (求上界) cos() 求 ...

  4. canvas语法糖

  5. Android 调用webservice并解析

    这是调用webService的具体方法 private final static String nameSpace="http://tempuri.org/"; private f ...

  6. ios app性能分析

    苹果app的流畅性一般比安卓的要好的多.应该是和苹果系统的设计理念同样,早期的iphone4曾经是绝对单任务,仅仅能做一件事情,尽管添加了后台能够.音乐播放,定位等有限的服务.可是大多数普通应用切换到 ...

  7. 妙用Pixel bender执行复杂运算/普通数据运算 传递Vector数组

    最近发现pixel bender有两个特殊点: 1.Input Image4,不单单可以用BitmapData来初始化,也可以用Vector.<Number>初始化. 2.ShaderJo ...

  8. Sakila——MySQL样例数据库解析(已经迁移)

    一.Introduction Sakila可以作为数据库设计的参考,也可作为实验数据.我是用作数据仓库和ODI学习的实验数据. The Sakila sample database was devel ...

  9. mysql数据导出为excel文件

    select * from  xi_table  into  outfile  ’d:test.xls’

  10. (转载)【TP5.0】设置session有效时长+修改默认存储路径

        //查看默认session存储路径:print_r(session_save_path());   \thinkphp\helper.php if (!function_exists('ses ...