电脑知识|欧美黑人一区二区三区|软件|欧美黑人一级爽快片淫片高清|系统|欧美黑人狂野猛交老妇|数据库|服务器|编程开发|网络运营|知识问答|技术教程文章 - 好吧啦网

您的位置:首頁技術(shù)文章
文章詳情頁

java json與map互相轉(zhuǎn)換的示例

瀏覽:92日期:2022-08-22 10:06:31

第一種

1.準(zhǔn)備工作

所需jar包:json-20180130.jar

2.json轉(zhuǎn)map

用法:JSONObject.toMap();

3.map轉(zhuǎn)json

用法:new JSONObject(map);

4.舉例說明

public static void main(String[] args) { JSONObject jo = 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', '請求業(yè)務(wù)參數(shù)加密字符串'); // json-->Map Map<String, Object> map = jo.toMap(); System.out.println(map); // Map-->json JSONObject jo2 = new JSONObject(map); System.out.println(jo2);}

第二種

1.準(zhǔn)備工作

所需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

import java.util.HashMap;import java.util.Iterator;import java.util.Map;import java.util.Set;import java.util.SortedMap;import java.util.TreeMap;import java.util.Map.Entry;import org.apache.log4j.Logger;import net.sf.json.JSONObject;/** * JSON數(shù)據(jù)處理工具類 * @explain * @author Marydon * @creationTime 2018年7月16日上午11:45:35 * @version 1.0 * @since * @email marydon20170307@163.com */public class JsonUtils { private static Logger log = Logger.getLogger(JsonUtils.class);}

2.json轉(zhuǎn)map

沒有現(xiàn)成的方法,需要自己進(jìn)行封裝。

方式一:無序Map

/** * 將JSONObject轉(zhuǎn)換成無序Map * @explain * @param jsonObject * @return HashMap 無序Map */public static Map<String, Object> toHashMap(JSONObject jsonObject) { // 用于存儲接收到的key:value Map<String, Object> data = new HashMap<String, Object>(); // 獲取json對象中的鍵 @SuppressWarnings('unchecked') Set<String> keySet = jsonObject.keySet(); String key = ''; Object value = null; // 遍歷jsonObject數(shù)據(jù),添加到Map對象 for (Iterator<String> iterator = keySet.iterator(); iterator.hasNext();) {key = iterator.next();value = jsonObject.get(key);data.put(key, value); } log.info('JSONObject-->HashMap:' + data); return data;}

方式二:有序Map

/** * 將JSONObject轉(zhuǎn)換成升序Map * @explain 將參數(shù)按照第一個(gè)字符的鍵值 ASCII 碼遞增排序(字母升序排序),如果遇到相同字符則按照第二個(gè)字符的鍵值 ASCII 碼遞增排序, * 以此類推通過SortedMap可以實(shí)現(xiàn) * @param jsonObject * @return SortedMap 按ASCII碼升序排列 */public static Map<String, Object> toSortedMap(JSONObject jsonObject) { // 用于存儲接收到的key:value,并按key以ASCII碼進(jìn)行升序排列組合 SortedMap<String, Object> data = new TreeMap<String, Object>(); // 獲取json對象中的鍵 @SuppressWarnings('unchecked') Set<String> keySet = jsonObject.keySet(); String key = ''; Object value = null; // 遍歷json數(shù)據(jù),添加到SortedMap對象 for (Iterator<String> iterator = keySet.iterator(); iterator.hasNext();) {key = iterator.next();value = jsonObject.get(key);data.put(key, value); } log.info('JSONObject-->SortedMap:' + data); return data;}

3.map轉(zhuǎn)json

用法:JSONObject.fromObject(map);

4.舉例說明

public static void main(String[] args) { Map<String, Object> map = new HashMap<String, 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', '請求業(yè)務(wù)參數(shù)加密字符串'); // Map-->json JSONObject jo = JSONObject.fromObject(map); System.out.println(jo); // json-->HashMap Map<String, Object> hashMap = JsonUtils.toHashMap(jo); System.out.println(hashMap); // json-->SortedMap Map<String, Object> sortedMap = JsonUtils.toSortedMap(jo); System.out.println(sortedMap); }

以上就是java json與map互相轉(zhuǎn)換的示例的詳細(xì)內(nèi)容,更多關(guān)于java json與map互相轉(zhuǎn)換的資料請關(guān)注好吧啦網(wǎng)其它相關(guān)文章!

標(biāo)簽: Java
相關(guān)文章:
主站蜘蛛池模板: 流程管理|流程管理软件|企业流程管理|微宏科技-AlphaFlow_流程管理系统软件服务商 | 交联度测试仪-湿漏电流测试仪-双85恒温恒湿试验箱-常州市科迈实验仪器有限公司 | 翅片管散热器价格_钢制暖气片报价_钢制板式散热器厂家「河北冀春暖气片有限公司」 | 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | ISO9001认证咨询_iso9001企业认证代理机构_14001|18001|16949|50430认证-艾世欧认证网 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 脱硫搅拌器厂家-淄博友胜不锈钢搅拌器厂家 | 礼堂椅厂家|佛山市艺典家具有限公司 | 郑州宣传片拍摄-TVC广告片拍摄-微电影短视频制作-河南优柿文化传媒有限公司 | 并网柜,汇流箱,电控设备,中高低压开关柜,电气电力成套设备,PLC控制设备订制厂家,江苏昌伟业新能源科技有限公司 | 合肥地磅_合肥数控切割机_安徽地磅厂家_合肥世佳电工设备有限公司 | 断桥铝破碎机_发动机破碎机_杂铝破碎机厂家价格-皓星机械 | 精密线材测试仪-电线电缆检测仪-苏州欣硕电子科技有限公司 | 步进驱动器「一体化」步进电机品牌厂家-一体式步进驱动 | 免费网站网址收录网_海企优网站推荐平台 | 体感VRAR全息沉浸式3D投影多媒体展厅展会游戏互动-万展互动 | 液压中心架,数控中心架,自定心中心架-烟台恒阳机电设计有限公司 行星搅拌机,双行星搅拌机,动力混合机,无锡米克斯行星搅拌机生产厂家 | 深圳美安可自动化设备有限公司,喷码机,定制喷码机,二维码喷码机,深圳喷码机,纸箱喷码机,东莞喷码机 UV喷码机,日期喷码机,鸡蛋喷码机,管芯喷码机,管内壁喷码机,喷码机厂家 | 高速龙门架厂家_监控杆_多功能灯杆_信号灯杆_锂电池太阳能路灯-鑫世源照明 | 玖容气动液压设备有限公司-气液增压缸_压力机_增压机_铆接机_增压器 | 真石漆,山东真石漆,真石漆厂家,真石漆价格-山东新佳涂料有限公司 | 广州网站建设_小程序开发_番禺网站建设_佛山网站建设_粤联网络 | PO膜_灌浆膜及地膜供应厂家 - 青州市鲁谊塑料厂 | 意大利Frascold/富士豪压缩机_富士豪半封闭压缩机_富士豪活塞压缩机_富士豪螺杆压缩机 | 打造全球沸石生态圈 - 国投盛世| 油罐车_加油机_加油卷盘_加油机卷盘_罐车人孔盖_各类球阀_海底阀等车用配件厂家-湖北华特专用设备有限公司 | 密集柜_档案密集柜_智能密集架_密集柜厂家_密集架价格-智英伟业 密集架-密集柜厂家-智能档案密集架-自动选层柜订做-河北风顺金属制品有限公司 | 球形钽粉_球形钨粉_纳米粉末_难熔金属粉末-广东银纳官网 | 威客电竞(vk·game)·电子竞技赛事官网 | 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 掺铥光纤放大器-C/L波段光纤放大器-小信号光纤放大器-合肥脉锐光电技术有限公司 | 立式壁挂广告机厂家-红外电容触摸一体机价格-华邦瀛 | 搅拌磨|搅拌球磨机|循环磨|循环球磨机-无锡市少宏粉体科技有限公司 | 快干水泥|桥梁伸缩缝止水胶|伸缩缝装置生产厂家-广东广航交通科技有限公司 | 西门子伺服控制器维修-伺服驱动放大器-828D数控机床维修-上海涌迪 | 建筑资质代办-建筑资质转让找上海国信启航 | 展厅装修公司|企业展厅设计|展厅制作|展厅搭建—广州展厅装饰公司 | 广东佛电电器有限公司|防雷开关|故障电弧断路器|智能量测断路器 广东西屋电气有限公司-广东西屋电气有限公司 | PCB设计,PCB抄板,电路板打样,PCBA加工-深圳市宏力捷电子有限公司 | 拉力机-拉力试验机-万能试验机-电子拉力机-拉伸试验机-剥离强度试验机-苏州皖仪实验仪器有限公司 | 国际高中-国际学校-一站式择校服务-远播国际教育 |