引用jar包:点击下载

代码如下:

[html] view plaincopy
  1. import java.util.ArrayList;
  2. import java.util.HashMap;
  3. import java.util.Iterator;
  4. import java.util.List;
  5. import java.util.Map;
  6. import java.util.Set;
  7. import net.sf.json.JSONArray;
  8. import net.sf.json.JSONObject;
  9. public class JsonMapUtil {
  10. @SuppressWarnings("unchecked")
  11. public static Map<String, Object> Json2Map(String jsonStr){
  12. Map<String, Object> map = new HashMap<String, Object>();
  13. //最外层解析
  14. JSONObject json = JSONObject.fromObject(jsonStr);
  15. for(Object k : json.keySet()){
  16. Object v = json.get(k);
  17. //如果内层还是数组的话,继续解析
  18. if(v instanceof JSONArray){
  19. List<Map<String, Object>> list = new ArrayList<Map<String,Object>>();
  20. Iterator<JSONObject> it = ((JSONArray)v).iterator();
  21. while(it.hasNext()){
  22. JSONObject json2 = it.next();
  23. list.add(Json2Map(json2.toString()));
  24. }
  25. map.put(k.toString(), list);
  26. } else {
  27. map.put(k.toString(), v);
  28. }
  29. }
  30. return map;
  31. }
  32. public static JSONObject map2Json(Map<String,Object> map){
  33. JSONObject json = new JSONObject();
  34. Set<String> set = map.keySet();
  35. for (Iterator<String> it = set.iterator();it.hasNext();) {
  36. String key = it.next();
  37. json.put(key, map.get(key));
  38. }
  39. return json;
  40. }
  41. public static void main(String[] args) {
  42. JSONObject json = new JSONObject();
  43. JSONObject json2 = new JSONObject();
  44. json2.put("json", "json");
  45. json2.put("json2", "json2");
  46. JSONArray ja = new JSONArray();
  47. ja.add(json2);
  48. json.put("id", ja);
  49. json.put("name", "{\"33\",\"ddssa\"}");
  50. json.put("age", "s2dee");
  51. System.out.println(Json2Map(json.toString()));
  52. Map<String, Object> map = new HashMap<String, Object>();
  53. map.put("id", "sdeee");
  54. map.put("name", "{\"name1\":\"xiaoming\",\"name2\":\"daming\",}");
  55. map.put("age", "s2dee");
  56. System.out.println(map2Json(map));
  57. }
  58. }

测试结果:

[html] view plaincopy
  1. MAP:{id=[{json=json, json2=json2}], age=s2dee, name={"33","ddssa"}}
  2. JSON:{"id":"sdeee","age":"s2dee","name":{"name1":"xiaoming","name2":"daming"}}

JSON与MAP之间的转换相关推荐

  1. IDEA使用GsonFormat完成JSON和JavaBean之间的转换

    点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客:点 ...

  2. C#中JSON和对象之间互相转换功能示例

    本文实例讲述了C#实现JSON和对象之间互相转换功能.分享给大家供大家参考,具体如下: 1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属 ...

  3. json和字典之间的转换

    json和字典之间的转换,json是双引号,字典是单引号 # json格式 str1 = '''{"aac003" : "marry","tel&qu ...

  4. 【java】之3种方式实现Object和Map之间的转换

    转载:[java]之3种方式实现Object和Map之间的转换 - 古越剑箫 - 博客园

  5. Java的object如何转为map_java实现Object和Map之间的转换3种方式

    java实现Object和Map之间的转换3种方式 发布时间:2020-10-17 18:42:04 来源:脚本之家 阅读:98 作者:古越剑箫 利用commons.BeanUtils实现Obj和Ma ...

  6. Java实现Object和Map之间的转换

    Java实现Object和Map之间的转换 public class Obj2MapUtils {/*** 将Object类型的数据转化成Map<String,Object>* @para ...

  7. map怎么转化dto_java实现Object和Map之间的转换3种方式

    利用commons.BeanUtils实现Obj和Map之间转换,这种是最简单,也是最经常用的 public static Object mapToObject(Map map, Class> ...

  8. Json,String,Map之间的转换

    前提是String的格式是map或json类型的 String 转Json JSONObject  jasonObject = JSONObject.fromObject(str); String 转 ...

  9. json与map之间的互相转换

    点击上面 免费订阅本账号! 本公众号主要推送javaweb开发相关技术,基础知识点,同时会深入剖析复杂的问题,分享一些优秀的框架,大型项目经验,当今最流行的Javaweb技术,热点科技新闻,招聘信息, ...

最新文章

  1. 机器学习的优化目标、期望最大化(Expectation-Maximum, EM)算法、期望最大化(EM)和梯度下降对比
  2. 当前流行的J2EE WEB应用架构分析
  3. 开源大数据周刊-第44期
  4. 【转】D3DLOCK详解
  5. vue不是内部或外部命令
  6. 远控免杀专题(22)-SpookFlare免杀
  7. Jenkins+GitLab+Docker+SpringCloud+Kubernetes实现可持续自动化微服务
  8. python高维数据存储_Numpy高维数据的理解
  9. 局域网电脑屏幕桌面监控怎么样
  10. 20165219 王彦博 实验五 网络编程与安全 实验报告
  11. 如何获取微信公众号的关注链接?
  12. su - xxx Could not create session 无法su切换用户
  13. linux qt 获取u盘名称,QT windows平台下获取U盘 QComboBox显示U盘盘符
  14. Deepin15.7 Linux 安装 Aegisub
  15. Android实战简易教程-第六十枪(分享一个城市选择功能模块)
  16. 02【ArcGIS Pro SDK for Microsoft .NET】开发实现登录页面
  17. 怎么计算byte,short,int等数据类型的取值范围
  18. AD转换设计中的基本问题整理
  19. AHT10温湿度传感器设计
  20. php微信砍价思路,微信砍价官方运营方案免费分享

热门文章

  1. 云上“超算中心” 阿里云推出弹性高性能计算平台E-HPC
  2. 解决电脑启动报:Reboot and select proper boot device
  3. php168 的采集规则的改动
  4. 马来游记(2)- 漂浮云顶间。。。
  5. 利用DELPHI开发完成例程(1)
  6. Web应用中避免Form重复提交的三种方案
  7. 堪比“震网”:罗克韦尔PLC严重漏洞可导致攻击者在系统中植入恶意代码
  8. Apache Cassandra 开源数据库软件修复高危RCE漏洞
  9. ext.net 开发学习之TabPanel (二)
  10. 使用audit工具常规命令监控系统访问文件