介绍
本篇文章给大家分享的是有关java.json怎么与地图相互转换,小编觉得挺实用的,因此分享给大家学习,希望大家阅读完这篇文章后可以有所收获,话不多说,跟着小编一起来看看吧。
<强> 1。准备工作强>
所需的jar包:json - 20180130. - jar
<强> 2。json转地图强>
用法:JSONObject.toMap ();
<强> 3。地图转json 强>
用法:新JSONObject(地图);
<强> 4。举例说明强>
公共静态void main (String [] args) { JSONObject乔=new JSONObject (); jo.put (“method_code",“JMJKK0101"); jo.put (“identifier",“000000000000“); jo.put (“timestamp",““); jo.put (“version",“Ver1.1"); jo.put (“area_code",“00000000“); jo.put (“access_type",“0”); jo.put (“access_id",“0101010101“); jo.put (“complete_key",“HMACSHA1"); jo.put (“complete_str"“摘要加密字符串“); jo.put (“param_key",“AES"); jo.put (“param_set",“请求业务参数加密字符串“);//json——在地图上 Object> Map<字符串;地图=jo.toMap (); System.out.println(地图);//地图——在json JSONObject jo2=new JSONObject(地图); System.out.println (jo2); }
<强> 1。准备工作强>
所需的jar包:
commons-beanutils-1.8.3。jar;
commons-collections-3.2.1。jar;
commons - lang - 2.6。jar;
commons-logging-1.1.3。jar;
ezmorph-1.0.6。jar;
json -自由- 2.4 jdk15。jar
进口java.util.HashMap; 进口java.util.Iterator; 进口java.util.Map; 进口java.util.Set; 进口java.util.SortedMap; 进口java.util.TreeMap; 进口java.util.Map.Entry; 进口org.apache.log4j.Logger; 进口net.sf.json.JSONObject;/* * * JSON数据处理工具类 * @explain * @author Marydon * @creationTime 2018年7月16日上午11:45:35 * @version 1.0 * @since * marydon20170307@163.com */公开课JsonUtils { 私有静态日志记录器=Logger.getLogger (JsonUtils.class); }
<强> 2。json转地图强>
没有现成的方法,需要自己进行封装。
方式一:无序图
/* * ,*将JSONObject转换成无序映射 ,* @explain * @param jsonObject ,* @return HashMap无序映射 ,*/公共静态Map<字符串,Object>toHashMap (JSONObject JSONObject) { ,,,//用于存储接收到的关键:价值 ,,,Map<字符串,Object>data=https://www.yisu.com/zixun/new HashMap <字符串、对象> ();//获取json对象中的键 @SuppressWarnings(“unchecked”) 设置<字符串>键盘=jsonObject.keySet (); 字符串键=" "; 对象价值=零;//遍历jsonObject数据,添加到地图对象 (迭代器<字符串>迭代器=keySet.iterator ();iterator.hasNext ();) { 关键=iterator.next (); 值=jsonObject.get(关键); 数据。put(关键字,值); } log.info (“JSONObject - -> HashMap:“+数据); 返回数据; }
方式二:有序图
/* * ,*将JSONObject转换成升序映射 ,* @explain将参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序, ,*,,,,,,,,以此类推通过SortedMap可以实现 * @param jsonObject ,* @return SortedMap按ASCII码升序排列 ,*/公共静态Map<字符串,Object>toSortedMap (JSONObject JSONObject) { ,,,//用于存储接收到的关键:值,并按主要以ASCII码进行升序排列组合 ,,,SortedMap<字符串,Object>data=https://www.yisu.com/zixun/new TreeMap <字符串、对象> ();//获取json对象中的键 @SuppressWarnings(“unchecked”) 设置<字符串>键盘=jsonObject.keySet (); 字符串键=" "; 对象价值=零;//遍历json数据,添加到SortedMap对象 (迭代器<字符串>迭代器=keySet.iterator ();iterator.hasNext ();) { 关键=iterator.next (); 值=jsonObject.get(关键); 数据。put(关键字,值); } log.info (“JSONObject - -> SortedMap:“+数据); 返回数据; }
<强> 3。地图转json 强>
用法:JSONObject.fromObject(地图);
<强> 4。举例说明强>
公共静态void main (String [] args) { Object> Map<字符串;地图=new HashMap<字符串,Object> (); map.put (“method_code",“JMJKK0101"); map.put (“identifier",“000000000000“); map.put (“timestamp",““); map.put (“version",“Ver1.1"); map.put (“area_code",“00000000“); map.put (“access_type",“0”); map.put (“access_id",“0101010101“); map.put (“complete_key",“HMACSHA1"); map.put (“complete_str"“摘要加密字符串“); map.put (“param_key",“AES"); map.put (“param_set",“请求业务参数加密字符串“);//地图——在json JSONObject乔=JSONObject.fromObject(地图); System.out.println(乔);//json——在HashMap Object> Mapjava.json怎么与地图相互转换