Java中Json转Map方法

Java用JSONObject.toBean进行json字符串转换成Map集合

转换实例一

public void readJSON2Map() {

try {

fail("==============JSON Arry String >>> Java Map ==================");

json = "{\"arr\":[\"a\",\"b\"],\"A\":{\"address\":\"address\",\"birthday\":{\"birthday\":\"2010-11-22\"}," + "\"email\":\"email\",\"id\":1,\"name\":\"jack\"},\"int\":1," + "\"B\":{\"address\":\"address\",\"birthday\":{\"birthday\":\"2010-11-22\"}," + "\"email\":\"email\",\"id\":1,\"name\":\"jack\"},\"name\":\"json\",\"bool\":true}";

jsonObject = JSONObject.fromObject(json);

Map < String,Class < ?>>clazzMap = new HashMap < String, Class < ?>>();

clazzMap.put("arr", String[].class);

clazzMap.put("A", Student.class);

clazzMap.put("B", Student.class);

Map < String,?>mapBean = (Map) JSONObject.toBean(jsonObject, Map.class, clazzMap);

System.out.println(mapBean);

Set < String > set = mapBean.keySet();

Iterator < String > iter = set.iterator();

while (iter.hasNext()) {

String key = iter.next();

fail(key + ":" + mapBean.get(key).toString());

}

} catch(Exception e) {

e.printStackTrace();

}

}

执行结果:

==============JSON Arry String >>> Java Map ==================

{A=jack#1#address#2010-11-22#email, arr=[a, b], B=jack#1#address#2010-11-22#email, int=1, name=json, bool=true}

A:jack#1#address#2010-11-22#email

arr:[a, b]

B:jack#1#address#2010-11-22#email

int:1

name:json

bool:true

转换实例二

public void json2map() {

String json1 = "{'arr':['a','b'],'int':1,'name':'json','bool':true}";

JSONObject jsonObject1 = JSONObject.fromObject(json1);

Map typeMap1 = new HashMap();

typeMap1.put("arr", String[].class);

typeMap1.put("int", Integer.class);

typeMap1.put("name", String.class);

typeMap1.put("bool", Boolean.class);

Map output1 = (Map) JSONObject.toBean(jsonObject1, Map.class, typeMap1);

System.out.println("Map");

System.out.println(output1.size());

System.out.println(output1.get("name"));

System.out.println(output1.get("arr"));

String json2 = "{'k1':{'age':10,'sex':'男','userName':'xiapi1'},'k2':{'age':12,'sex':'女','userName':'xiapi2'}}";

JSONObject jsonObject2 = JSONObject.fromObject(json2);

Map < String,Class < ?>>typeMap2 = new HashMap < String,Class < ?>>();

Map < String,Student > output2 = (Map < String, Student > ) JSONObject.toBean(jsonObject2, Map.class, typeMap2);

System.out.println("Map");

System.out.println(output2.size());

System.out.println(output2.get("k1"));

}

执行结果:

Map

4

json

[a, b]

Map

2

net.sf.ezmorph.bean.MorphDynaBean@5b8827[{sex=男, age=10, userName=xiapi1}]

版权声明:本文为JAVASCHOOL原创文章,未经本站允许不得转载。

java中将json字符串转换成map_Java中Json转Map方法相关推荐

  1. Java中将科学记数法字符串转换成数字字符串

    开发过程中,有时候科学记数法的数字,需要转换成直观的数字. 这个时候就要想办法转换一下,好在java已经提供了现成的方法. 代码如下: import java.math.BigDecimal;@Tes ...

  2. go json字符串转换成结构体,json字符串数组转换成切片

    例子1:把字符串转换成结构体:{"FromUid":"100","FromName":"HANASHAN"} packa ...

  3. java 字符串转换成map_java中string类型转换成map

    背景:有时候string类型的数据取出来是个很标准的key.value形式,通过Gson的可以直接转成map 使用方式: Gson gson = new Gson(); Map map = new H ...

  4. 将json字符串转换成html,将JSON HTML字符串转换为HTML

    我已经开发了一个使用Moodle WebService的AngularJS Moodle webapp,并且我正在试图从Moodle eLearning展示一个测验.将JSON HTML字符串转换为H ...

  5. Java对象转换成JSON对象/JSON对象转换成JSON字符串/JSON字符串转换成JS对象

    文章目录 后端部分 前端部分 后端部分 Option op = new Option("海淀","hd");//java对象转换json对象 JSONObjec ...

  6. json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值...

    json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 原文:json字符串转换成json对象,json对象转换成字符串,值转换成字符串,字符串转成值 主要内容: 一 ...

  7. json字符串转换成json对象

    Json字符与Json对象的相互转换方式有很多,接下来将为大家一一介绍下,感兴趣的朋友可以参考下哈,希望可以帮助到你 1>jQuery插件支持的转换方式: 代码如下: $.parseJSON( ...

  8. Java中将inputstream输入流转换成byte[]字节数组

    Java中将inputstream输入流转换成byte[]字节数组 Java中的I/O机制都是基于数据流进行输入和输出的,将流转换成字节数组保存下来是数据流传输必不可少的一部分.转换的代码如下(在具体 ...

  9. java怎么把字符串转换成字符数组

    此博客用于个人编程学习记录. 文章内容来自于: java怎么把字符串转换成字符数组-Java基础-PHP中文网https://www.php.cn/java/base/435415.html java ...

  10. Jackson将json字符串转换成泛型List/map

    Jackson将json字符串转换成泛型List/map url: http://www.cnblogs.com/quanyongan/archive/2013/04/16/3024993.html ...

最新文章

  1. java 集合快速排序_搞定Java快速排序
  2. Java锁有哪些种类,以及区别
  3. SAP ABAP逻辑数据库
  4. c语言(int)x 100,【单选题】下列语句执行后,变量a、c的值分别是( ) int x=182; int a,c;c=x/100;a=x%10;...
  5. 数据库设计器无法打开方法
  6. Postgre合并多行数据为一行
  7. windows mobile 服务自动停止_打印服务print Splooer自动停止怎么办?
  8. 科研|我最煎熬的学术时刻,是耗时3年完成了一篇论文
  9. guava中Range的使用方法(com.google.common.collect.Range)
  10. linux内核分析及应用 -- 输入输出(下)
  11. postman中从url中获取各参数值
  12. Android中的Drawable(一)
  13. 站在思想层面看MVX架构
  14. excel公式里用html,Excel公式中{}是什么意思?要如何用?
  15. Debian 7 安装metasploit
  16. 软件测试需要学数学,现在才开始学软件测试还有前途吗?
  17. r如何打开计算机窗口,如何进入运行窗口
  18. TypeWriter: Neural Type Prediction with Search-based Validation基于搜索的神经网络预测器
  19. 【数字IC基础知识1之数字芯片设计流程
  20. 人工智能、深度学习和机器学习有哪些区别?

热门文章

  1. 计算机信息管理学书心得,学习erp的心得体会共计5篇
  2. python 爬取百度日历
  3. 创业者必备知识SWOT分析模型+案例分析
  4. Win7+MATLAB2017a+虚拟光驱
  5. acer 4741G安装ubuntu10.10显卡成功
  6. 刘宇凡:苍井空卖内衣 典型的情怀产品
  7. psp记忆棒测试软件,PSP记忆棒有问题?修复软件MS-Format帮你解忧
  8. python book pdf_The Django Book 第2版 中文PDF版[1.87MB]
  9. ArcGIS符号库下载 | 制图规范、三调、1:1万地形图、土地利用总体规划图.....
  10. quartusII编译时出现Error (119013): Current license file does not support the EP4CE6F17C8 device