java json与map互相转换的示例
第一种
1.准备工作
所需jar包:json-20180130.jar
2.json转map
用法:JSONObject.toMap();
3.map转json
用法:newJSONObject(map);
4.举例说明
publicstaticvoidmain(String[]args){ JSONObjectjo=newJSONObject(); 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-->Map Mapmap=jo.toMap(); System.out.println(map); //Map-->json JSONObjectjo2=newJSONObject(map); 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-lib-2.4-jdk15.jar
importjava.util.HashMap; importjava.util.Iterator; importjava.util.Map; importjava.util.Set; importjava.util.SortedMap; importjava.util.TreeMap; importjava.util.Map.Entry; importorg.apache.log4j.Logger; importnet.sf.json.JSONObject; /** *JSON数据处理工具类 *@explain *@authorMarydon *@creationTime2018年7月16日上午11:45:35 *@version1.0 *@since *@emailmarydon20170307@163.com */ publicclassJsonUtils{ privatestaticLoggerlog=Logger.getLogger(JsonUtils.class); }
2.json转map
没有现成的方法,需要自己进行封装。
方式一:无序Map
/** *将JSONObject转换成无序Map *@explain *@paramjsonObject *@returnHashMap无序Map */ publicstaticMaptoHashMap(JSONObjectjsonObject){ //用于存储接收到的key:value Map data=newHashMap (); //获取json对象中的键 @SuppressWarnings("unchecked") Set keySet=jsonObject.keySet(); Stringkey=""; Objectvalue=null; //遍历jsonObject数据,添加到Map对象 for(Iterator iterator=keySet.iterator();iterator.hasNext();){ key=iterator.next(); value=jsonObject.get(key); data.put(key,value); } log.info("JSONObject-->HashMap:"+data); returndata; }
方式二:有序Map
/** *将JSONObject转换成升序Map *@explain将参数按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序, * 以此类推通过SortedMap可以实现 *@paramjsonObject *@returnSortedMap按ASCII码升序排列 */ publicstaticMaptoSortedMap(JSONObjectjsonObject){ //用于存储接收到的key:value,并按key以ASCII码进行升序排列组合 SortedMap data=newTreeMap (); //获取json对象中的键 @SuppressWarnings("unchecked") Set keySet=jsonObject.keySet(); Stringkey=""; Objectvalue=null; //遍历json数据,添加到SortedMap对象 for(Iterator iterator=keySet.iterator();iterator.hasNext();){ key=iterator.next(); value=jsonObject.get(key); data.put(key,value); } log.info("JSONObject-->SortedMap:"+data); returndata; }
3.map转json
用法:JSONObject.fromObject(map);
4.举例说明
publicstaticvoidmain(String[]args){ Mapmap=newHashMap (); 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","请求业务参数加密字符串"); //Map-->json JSONObjectjo=JSONObject.fromObject(map); System.out.println(jo); //json-->HashMap Map hashMap=JsonUtils.toHashMap(jo); System.out.println(hashMap); //json-->SortedMap Map sortedMap=JsonUtils.toSortedMap(jo); System.out.println(sortedMap); }
以上就是javajson与map互相转换的示例的详细内容,更多关于javajson与map互相转换的资料请关注毛票票其它相关文章!