博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
JAVA编码(37)—— Java字符串转换为MAP对象
阅读量:4927 次
发布时间:2019-06-11

本文共 865 字,大约阅读时间需要 2 分钟。

首先,你先确认你的字符串是否是json格式的,如果是json格式,那你可以使用Gson.jar或json-lib-xx-jdk.jar两个包来自动解析解析

使用Gson更简单些,只需要导入一个包就可以,但是他如果使用Object解析到int型的话或自动转成double型,需要定义一个准确的类来解析,不能直接使用Object。示例:

Gson gson = new Gson(); Map
map = new HashMap
(); map = gson.fromJson(str, map.getClass());

使用json-lib包的话需要导入更多的包,需要额外导入commons-lang.jar、ezmorph-1.0.4.jar、commons- logging-1.1.1.jar、commons-collections.jar、commons-beanutils.jar这5个包。解析示例 如下:

JSONObject jb = JSONObject.fromObject(str);Map
map = (Map
)jb;

如果你的字符串不是json格式,那你就需要自己使用split分割字符串,例如:

String str = "color:red|font:yahei|width:800|height:300";String[] strs = str.split("\\|");Map
m = new HashMap
();for(String s:strs){ String[] ms = s.split(":"); m.put(ms[0], ms[1]);}

 

转载于:https://www.cnblogs.com/xushuyi/articles/5899812.html

你可能感兴趣的文章
sqoop导出工具
查看>>
Codeforces Round #376 (Div. 2)
查看>>
Codeforces 607D Power Tree 线段树 (看题解)
查看>>
【LeetCode 33】Search in Rotated Sorted Array
查看>>
Promise超时情况
查看>>
IndexOf、IndexOfAny 、Remove
查看>>
转载-asp.net id 和name的区别
查看>>
sqlsever 科学计数法e 问题
查看>>
F问题3-7:以太网使用载波监听多点接入碰撞检测协议CSMA/CD。频分复用FDM才使用载波。以太网有没有使用频分复用?...
查看>>
2015年蓝桥杯省赛A组c++第1题
查看>>
解决CentOS缺少共享库
查看>>
写在人生的路上——2016年上半年总结
查看>>
解决okHttp使用https抛出stream was reset: PROTOCOL_ERROR的问题
查看>>
(linux自学笔记)linux驱动并发控制、阻塞/非阻塞IO、异步通知
查看>>
[原] KVM 虚拟化原理探究(5)— 网络IO虚拟化
查看>>
python magic_method
查看>>
cf 865 B. Ordering Pizza
查看>>
Java垃圾回收(GC)机制详解
查看>>
贪心算法----几个基本例题
查看>>
转载:c++读写文件和测试程序运行时间的例子
查看>>