最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

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

 更新時間:2020年10月22日 11:51:29   作者:Marydon  
這篇文章主要介紹了java json與map互相轉(zhuǎn)換的示例,幫助大家更好的理解和使用Java,感興趣的朋友可以了解下

第一種

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)成的方法,需要自己進行封裝。

  方式一:無序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ù)按照第一個字符的鍵值 ASCII 碼遞增排序(字母升序排序),如果遇到相同字符則按照第二個字符的鍵值 ASCII 碼遞增排序,
 *          以此類推通過SortedMap可以實現(xiàn)
 * @param jsonObject
 * @return SortedMap 按ASCII碼升序排列
 */
public static Map<String, Object> toSortedMap(JSONObject jsonObject) {
    // 用于存儲接收到的key:value,并按key以ASCII碼進行升序排列組合
    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)換的示例的詳細內(nèi)容,更多關(guān)于java json與map互相轉(zhuǎn)換的資料請關(guān)注腳本之家其它相關(guān)文章!

相關(guān)文章

  • 基于FeignClient調(diào)用超時的處理方案

    基于FeignClient調(diào)用超時的處理方案

    這篇文章主要介紹了基于FeignClient調(diào)用超時的處理方案,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-07-07
  • Java實現(xiàn)生成n個不重復(fù)的隨機數(shù)

    Java實現(xiàn)生成n個不重復(fù)的隨機數(shù)

    這篇文章主要為大家詳細介紹了Java實現(xiàn)生成n個不重復(fù)的隨機數(shù),文中示例代碼介紹的非常詳細,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2020-05-05
  • 如何使用Collections.reverse對list集合進行降序排序

    如何使用Collections.reverse對list集合進行降序排序

    這篇文章主要介紹了Java使用Collections.reverse對list集合進行降序排序,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • SpringSecurity?用戶帳號已被鎖定的問題及解決方法

    SpringSecurity?用戶帳號已被鎖定的問題及解決方法

    這篇文章主要介紹了SpringSecurity?用戶帳號已被鎖定,本文給大家分享問題原因及解決方式,需要的朋友可以參考下
    2023-12-12
  • 詳解Java對象的強、軟、弱和虛引用+ReferenceQueue

    詳解Java對象的強、軟、弱和虛引用+ReferenceQueue

    這篇文章主要介紹了詳解Java對象的強、軟、弱和虛引用+ReferenceQueue的相關(guān)資料,需要的朋友可以參考下
    2017-06-06
  • Java編程long數(shù)據(jù)類型的使用問題

    Java編程long數(shù)據(jù)類型的使用問題

    這篇文章主要介紹了Java編程數(shù)據(jù)類型long的使用問題,涉及長整型數(shù)據(jù)的取值范圍和不同整數(shù)類型的表示方法,需要的朋友可以參考下
    2017-09-09
  • SpringBoot如何接收數(shù)組參數(shù)的方法

    SpringBoot如何接收數(shù)組參數(shù)的方法

    這篇文章主要介紹了SpringBoot如何接收數(shù)組參數(shù)的方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-12-12
  • JavaWeb中使用JavaMail實現(xiàn)發(fā)送郵件功能實例詳解

    JavaWeb中使用JavaMail實現(xiàn)發(fā)送郵件功能實例詳解

    這篇文章主要介紹了JavaWeb中使用JavaMail實現(xiàn)發(fā)送郵件功能的實例代碼,非常不錯具有參考借鑒價值,感興趣的朋友一起看看吧
    2016-05-05
  • Kafka之kafka-topics.sh的使用解讀

    Kafka之kafka-topics.sh的使用解讀

    這篇文章主要介紹了Kafka之kafka-topics.sh的使用解讀,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2023-03-03
  • Java中的內(nèi)存模型JMM詳細解讀

    Java中的內(nèi)存模型JMM詳細解讀

    這篇文章主要介紹了Java中的內(nèi)存模型JMM詳細解讀,Java?對內(nèi)存的抽象模型如下,每個線程都有一塊自己的私有內(nèi)存(也稱為工作內(nèi)存),當(dāng)線程使用變量時,會把主內(nèi)存里面的變量復(fù)制到工作內(nèi)存,線程讀寫變量時操作的是自己工作內(nèi)存中的變量,需要的朋友可以參考下
    2023-12-12

最新評論

青田县| 日喀则市| 嘉兴市| 鄢陵县| 永丰县| 阆中市| 醴陵市| 抚顺县| 平昌县| 无极县| 昌宁县| 缙云县| 台东市| 姜堰市| 新兴县| 巴楚县| 双江| 天台县| 陇川县| 遂平县| 临城县| 和林格尔县| 灵璧县| 屏南县| 铜川市| 宣城市| 黔江区| 乾安县| 鞍山市| 博乐市| 吕梁市| 连南| 富川| 修武县| 金湖县| 克什克腾旗| 潍坊市| 红安县| 承德县| 天祝| 洛阳市|