java.json怎么与地图相互转换

  介绍

本篇文章给大家分享的是有关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> Map

java.json怎么与地图相互转换