首頁 > Java > java教程 > 主體

如何在Java中將Map和JSON資料相互轉換?

PHPz
發布: 2023-04-27 15:40:08
轉載
3233 人瀏覽過

map轉JSON字串

package com.hanfan.test;// HANFAN自动读取PC名字,也可以写死这个名字

import com.alibaba.fastjson.JSON;
import com.alibaba.fastjson.JSONObject;

import java.util.HashMap;
import java.util.Map;

/**
 * @Author HANFAN
 * @Date 2022/4/21 16:01
 * @Version 1.0
 */

public class mapAndJsonCast {

    public static void main(String[] args) {

        /* map转化JSON字符串常用 */
        Map testMap = new HashMap<>();
        testMap.put("str1","fu");
        testMap.put("str2","ck");
        String str = JSON.toJSONString(testMap);
        System.out.println("testMap的值:" + testMap);

//      打印的结果是:       testMap的值:{str1=fu, str2=ck}
    }
}
登入後複製

JSON字串轉JSON物件

        /* JSON字符串转JSON对象常用*/
        String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println("jsonObject:" + jsonObject);
//      打印的结果是:       jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
登入後複製

Map轉JSON物件

由上面兩個轉換可知,map先轉成JSON字串,再由JSON字串轉換成JSON物件

        /*Map转JSON对象常用 */
        JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(testMap));
        System.out.println("JSONObj:" + JSONObj);
//      打印的结果是:        JSONObj:{"str1":"fu","str2":"ck"}
登入後複製

JSON字串轉Map

        /* JSON字符串转Map常用*/
        Map strMap =  JSONObject.parseObject(jsonStr);
        System.out.println("strMap:" + strMap);
//      打印的结果是:        strMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
登入後複製

JSON物件轉Map

其實就是json物件先轉為json字元串,json字串再轉map

        /*JSON对象转map常用*/
        Map jsonToMap =  JSONObject.parseObject(jsonObject.toJSONString());
        System.out.println("jsonToMap:"+jsonToMap);
//      打印的结果是:        jsonToMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
登入後複製

JSON物件轉JSON字串

        //JSON对象转JSON字符串
        String jsonToStr = jsonObject.toJSONString();
        System.out.println("jsonToStr=>"+jsonToStr);
//      打印的结果是:       jsonToStr=>{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
登入後複製

根據上述轉換,不難得到三者之間的關係 

如何在Java中將Map和JSON資料相互轉換?

為了方便記憶,可以換個思維,

Map轉jsonObject時,Map是主體,JSON代表的是Map【簡稱,JSON代表Map】​​;

jsonObject轉Map時,jsonObject是主體,jsonObject代表的還是JSONObject【簡稱,我代表我自己】

Map與JSON的區別,我只知道是「=」與「:」之間的區別。

        /* map转化JSON字符串常用 */
        Map testMap = new HashMap<>();
        testMap.put("str1","fu");
        testMap.put("str2","ck");
        String str = JSON.toJSONString(testMap);
        System.out.println("testMap的值:" + testMap);

//      打印的结果是:       testMap的值:{str1=fu, str2=ck}
        /* JSON字符串转JSON对象常用*/
        String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println("jsonObject:" + jsonObject);
//      打印的结果是:       jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}
登入後複製

由列印結果可知,Map是”=“,jsonObject是”:“,

究竟用哪個,以實際情況確定。

IDEA功能快速鍵

全域搜尋:Ctrl H

根據檔案名稱搜尋:Ctrl ShiftR/T

在某一個類別中搜尋:Ctrl F

加註【/**/】:Ctrl Shift /[兩次使用,則是放開註解]

【// 】 :Ctrl /[兩次使用,則是放開註解]

以上是如何在Java中將Map和JSON資料相互轉換?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:yisu.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!