JSON与MAP之间的转换
代码如下:
- 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;
- public class JsonMapUtil {
- @SuppressWarnings("unchecked")
- public static Map<String, Object> Json2Map(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(Json2Map(json2.toString()));
- }
- map.put(k.toString(), list);
- } else {
- map.put(k.toString(), v);
- }
- }
- return map;
- }
- public static JSONObject map2Json(Map<String,Object> map){
- JSONObject json = new JSONObject();
- Set<String> set = map.keySet();
- for (Iterator<String> it = set.iterator();it.hasNext();) {
- String key = it.next();
- json.put(key, map.get(key));
- }
- return json;
- }
- public static void main(String[] args) {
- JSONObject json = new JSONObject();
- JSONObject json2 = new JSONObject();
- json2.put("json", "json");
- json2.put("json2", "json2");
- JSONArray ja = new JSONArray();
- ja.add(json2);
- json.put("id", ja);
- json.put("name", "{\"33\",\"ddssa\"}");
- json.put("age", "s2dee");
- System.out.println(Json2Map(json.toString()));
- Map<String, Object> map = new HashMap<String, Object>();
- map.put("id", "sdeee");
- map.put("name", "{\"name1\":\"xiaoming\",\"name2\":\"daming\",}");
- map.put("age", "s2dee");
- System.out.println(map2Json(map));
- }
- }
测试结果:
- MAP:{id=[{json=json, json2=json2}], age=s2dee, name={"33","ddssa"}}
- JSON:{"id":"sdeee","age":"s2dee","name":{"name1":"xiaoming","name2":"daming"}}
JSON与MAP之间的转换相关推荐
- IDEA使用GsonFormat完成JSON和JavaBean之间的转换
点击上方 好好学java ,选择 星标 公众号重磅资讯,干货,第一时间送达今日推荐:分享一套基于SpringBoot和Vue的企业级中后台开源项目,这个项目有点哇塞!个人原创100W +访问量博客:点 ...
- C#中JSON和对象之间互相转换功能示例
本文实例讲述了C#实现JSON和对象之间互相转换功能.分享给大家供大家参考,具体如下: 1.首先是声明用户信息对象,DataContract修饰类,表示可以被解析成JSON,DataMember修饰属 ...
- json和字典之间的转换
json和字典之间的转换,json是双引号,字典是单引号 # json格式 str1 = '''{"aac003" : "marry","tel&qu ...
- 【java】之3种方式实现Object和Map之间的转换
转载:[java]之3种方式实现Object和Map之间的转换 - 古越剑箫 - 博客园
- Java的object如何转为map_java实现Object和Map之间的转换3种方式
java实现Object和Map之间的转换3种方式 发布时间:2020-10-17 18:42:04 来源:脚本之家 阅读:98 作者:古越剑箫 利用commons.BeanUtils实现Obj和Ma ...
- Java实现Object和Map之间的转换
Java实现Object和Map之间的转换 public class Obj2MapUtils {/*** 将Object类型的数据转化成Map<String,Object>* @para ...
- map怎么转化dto_java实现Object和Map之间的转换3种方式
利用commons.BeanUtils实现Obj和Map之间转换,这种是最简单,也是最经常用的 public static Object mapToObject(Map map, Class> ...
- Json,String,Map之间的转换
前提是String的格式是map或json类型的 String 转Json JSONObject jasonObject = JSONObject.fromObject(str); String 转 ...
- json与map之间的互相转换
点击上面 免费订阅本账号! 本公众号主要推送javaweb开发相关技术,基础知识点,同时会深入剖析复杂的问题,分享一些优秀的框架,大型项目经验,当今最流行的Javaweb技术,热点科技新闻,招聘信息, ...
最新文章
- 机器学习的优化目标、期望最大化(Expectation-Maximum, EM)算法、期望最大化(EM)和梯度下降对比
- 当前流行的J2EE WEB应用架构分析
- 开源大数据周刊-第44期
- 【转】D3DLOCK详解
- vue不是内部或外部命令
- 远控免杀专题(22)-SpookFlare免杀
- Jenkins+GitLab+Docker+SpringCloud+Kubernetes实现可持续自动化微服务
- python高维数据存储_Numpy高维数据的理解
- 局域网电脑屏幕桌面监控怎么样
- 20165219 王彦博 实验五 网络编程与安全 实验报告
- 如何获取微信公众号的关注链接?
- su - xxx Could not create session 无法su切换用户
- linux qt 获取u盘名称,QT windows平台下获取U盘 QComboBox显示U盘盘符
- Deepin15.7 Linux 安装 Aegisub
- Android实战简易教程-第六十枪(分享一个城市选择功能模块)
- 02【ArcGIS Pro SDK for Microsoft .NET】开发实现登录页面
- 怎么计算byte,short,int等数据类型的取值范围
- AD转换设计中的基本问题整理
- AHT10温湿度传感器设计
- php微信砍价思路,微信砍价官方运营方案免费分享
热门文章
- 云上“超算中心” 阿里云推出弹性高性能计算平台E-HPC
- 解决电脑启动报:Reboot and select proper boot device
- php168 的采集规则的改动
- 马来游记(2)- 漂浮云顶间。。。
- 利用DELPHI开发完成例程(1)
- Web应用中避免Form重复提交的三种方案
- 堪比“震网”:罗克韦尔PLC严重漏洞可导致攻击者在系统中植入恶意代码
- Apache Cassandra 开源数据库软件修复高危RCE漏洞
- ext.net 开发学习之TabPanel (二)
- 使用audit工具常规命令监控系统访问文件