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. 【树莓派】树莓派上刷android系统

    这位前辈之前做了基于android2.3版本刷入树莓派的事情,http://blog.csdn.net/lichwei1983/article/details/44082669 1.android 镜 ...

  2. spring-boot 实现文件上传下载

    @Controller public class FileUploadCtrl { @Value("${file.upload.dir}") private String path ...

  3. Velocity使用总结

    一.载入Velocity依赖包 <dependency> <groupId>org.apache.velocity</groupId> <artifactId ...

  4. java面试第二天

    局部变量:不是声明在类体括号里面的变量 (1)必须要先赋值,后使用,否则通不过编译,局部变量没有默认初始化值 (2)作用范围:定义开始到定义它的代码块结束 (3)同一范围内,不允许2个局部变量命名冲突 ...

  5. MySQL 主从错误

    1: Got fatal error 1236 from master when reading data from binary log: 'Could not find first log fil ...

  6. Java 基础【14】@注解

    1.注解简介 JDK 1.5 中引入的 java.lang.annotation 包提供注解编程支持,可以让类在编译.类加载.运行时被读取,并执行相应的处理. 在 Java EE应用的时候,总是免不了 ...

  7. 【AIX】查看系统内存、CPU等信息

    1.查看内存大小(结果单位为kb) bootinfo –r 2.查看物理CPU个数 prtconf|grep Processors 3.查看逻辑CPU个数 pmcycles –m 4.查看COU核数 ...

  8. sql如何通过当前日期获取上周,上上周,上上上周的起始日期(周一_周七)

    当前时间周的起始日期(以周一为例)select DATEADD(week,DATEDIFF(week,0,getdate()),0)上周起始:select dateadd(week,-1,DATEAD ...

  9. C#让控制台程序不显示闪退窗口的方法

    新建一个控制台程序,然后编译为 窗体程序.即可........

  10. 自制小工具含源码——SPTC上海交通卡余额查询

    说明 需求 开发 其他