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
MaphashMap=JsonUtils.toHashMap(jo);
System.out.println(hashMap);
//json-->SortedMap
MapsortedMap=JsonUtils.toSortedMap(jo);
System.out.println(sortedMap);
}
以上就是javajson与map互相转换的示例的详细内容,更多关于javajson与map互相转换的资料请关注毛票票其它相关文章!