欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Java中Map與JSON數(shù)據(jù)之間的互相轉(zhuǎn)化

 更新時(shí)間:2023年04月15日 09:25:13   作者:韓凡  
我們?cè)陂_(kāi)發(fā)中難免和JSON打交道,這不小編最近遇到了,需要把一些信息轉(zhuǎn)成JSON字符串,下面這篇文章主要給大家介紹了關(guān)于Java中Map與JSON數(shù)據(jù)之間的互相轉(zhuǎn)化,需要的朋友可以參考下

map

此內(nèi)容是方便博主自己記憶內(nèi)容,不用于公開(kāi)學(xué)習(xí)資料,若發(fā)現(xiàn)語(yǔ)法錯(cuò)誤,自行更正,勿噴

map轉(zhuǎn)JSON字符串

package com.hanfan.test;// HANFAN自動(dòng)讀取PC名字,也可以寫(xiě)死這個(gè)名字

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轉(zhuǎn)化JSON字符串常用 */
        Map testMap = new HashMap<>();
        testMap.put("str1","fu");
        testMap.put("str2","ck");
        String str = JSON.toJSONString(testMap);
        System.out.println("testMap的值:" + testMap);

//      打印的結(jié)果是:       testMap的值:{str1=fu, str2=ck}
    }
}

JSON字符串轉(zhuǎn)JSON對(duì)象

        /* JSON字符串轉(zhuǎn)JSON對(duì)象常用*/
        String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println("jsonObject:" + jsonObject);
//      打印的結(jié)果是:       jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

Map轉(zhuǎn)JSON對(duì)象

由上面兩條轉(zhuǎn)化可知,map先轉(zhuǎn)成JSON字符串,再由JSON字符串轉(zhuǎn)化成JSON對(duì)象

        /*Map轉(zhuǎn)JSON對(duì)象常用 */
        JSONObject JSONObj = JSONObject.parseObject(JSON.toJSONString(testMap));
        System.out.println("JSONObj:" + JSONObj);
//      打印的結(jié)果是:        JSONObj:{"str1":"fu","str2":"ck"}

JSON字符串轉(zhuǎn)Map

        /* JSON字符串轉(zhuǎn)Map常用*/
        Map<String,Object> strMap =  JSONObject.parseObject(jsonStr);
        System.out.println("strMap:" + strMap);
//      打印的結(jié)果是:        strMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

JSON對(duì)象轉(zhuǎn)Map

其實(shí)就是json對(duì)象先轉(zhuǎn)成json字符串,json字符串再轉(zhuǎn)map

        /*JSON對(duì)象轉(zhuǎn)map常用*/
        Map<String,Object> jsonToMap =  JSONObject.parseObject(jsonObject.toJSONString());
        System.out.println("jsonToMap:"+jsonToMap);
//      打印的結(jié)果是:        jsonToMap:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

JSON對(duì)象轉(zhuǎn)JSON字符串

        //JSON對(duì)象轉(zhuǎn)JSON字符串
        String jsonToStr = jsonObject.toJSONString();
        System.out.println("jsonToStr=>"+jsonToStr);
//      打印的結(jié)果是:       jsonToStr=>{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

根據(jù)以上轉(zhuǎn)換,不難得出三者之間的關(guān)系 (圖丑,勿噴。)

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

Map轉(zhuǎn)jsonObject時(shí),Map是主體,JSON代表的是Map【簡(jiǎn)稱(chēng),JSON代表Map】;

jsonObject轉(zhuǎn)Map時(shí),jsonObject是主體,jsonObject代表的還是JSONObject【簡(jiǎn)稱(chēng),我代表我自己】

Map與JSON的區(qū)別,我只知道是“=”與“:” 之間的區(qū)別。

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

//      打印的結(jié)果是:       testMap的值:{str1=fu, str2=ck}
        /* JSON字符串轉(zhuǎn)JSON對(duì)象常用*/
        String jsonStr = "{\"str3\":\"zhangsan\",\"str4\":\"lisi\",\"str5\":\"wangwu\",\"str6\":\"maliu\"}";
        JSONObject jsonObject = JSONObject.parseObject(jsonStr);
        System.out.println("jsonObject:" + jsonObject);
//      打印的結(jié)果是:       jsonObject:{"str5":"wangwu","str6":"maliu","str3":"zhangsan","str4":"lisi"}

由打印結(jié)果可知,Map是”=“,jsonObject是”:“,

究竟用哪個(gè),以實(shí)際情況確定。

IDEA功能快捷鍵

全局搜索:Ctrl + H

根據(jù)文件名搜索:Ctrl + Shift+ R/T

在某一個(gè)類(lèi)中搜索:Ctrl + F

加注釋【/**/】:Ctrl + Shift + / [兩次使用,則是放開(kāi)注釋]

【// 】:Ctrl + / [兩次使用,則是放開(kāi)注釋]

總結(jié)

到此這篇關(guān)于Java中Map與JSON數(shù)據(jù)之間互相轉(zhuǎn)化的文章就介紹到這了,更多相關(guān)Map與JSON數(shù)據(jù)互相轉(zhuǎn)化內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

    SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn)代碼

    這篇文章主要介紹了SpringMVC自定義攔截器登錄檢測(cè)功能的實(shí)現(xiàn),本文通過(guò)實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2021-08-08
  • Java設(shè)計(jì)模式之簡(jiǎn)單工廠 工廠方法 抽象工廠深度總結(jié)

    Java設(shè)計(jì)模式之簡(jiǎn)單工廠 工廠方法 抽象工廠深度總結(jié)

    設(shè)計(jì)模式(Design Pattern)是前輩們對(duì)代碼開(kāi)發(fā)經(jīng)驗(yàn)的總結(jié),是解決特定問(wèn)題的一系列套路。它不是語(yǔ)法規(guī)定,而是一套用來(lái)提高代碼可復(fù)用性、可維護(hù)性、可讀性、穩(wěn)健性以及安全性的解決方案
    2021-09-09
  • 詳解SpringBoot配置文件啟動(dòng)時(shí)動(dòng)態(tài)配置參數(shù)方法

    詳解SpringBoot配置文件啟動(dòng)時(shí)動(dòng)態(tài)配置參數(shù)方法

    這篇文章主要介紹了詳解SpringBoot配置文件啟動(dòng)時(shí)動(dòng)態(tài)配置參數(shù)方法,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2020-11-11
  • 教你如何寫(xiě)springboot接口?

    教你如何寫(xiě)springboot接口?

    這篇文章主要介紹了教你如何寫(xiě)springboot接口,Spring?Boot是由Pivotal團(tuán)隊(duì)提供的全新框架,其設(shè)計(jì)目的是用來(lái)簡(jiǎn)化新Spring應(yīng)用的初始搭建以及開(kāi)發(fā)過(guò)程。該框架使用了特定的方式來(lái)進(jìn)行配置,從而使開(kāi)發(fā)人員不再需要定義樣板化的配置,需要的朋友可以參考y一下
    2022-01-01
  • 解決SpringBoot跨域的三種方式

    解決SpringBoot跨域的三種方式

    前后端分離是目前的趨勢(shì),解決跨域問(wèn)題也是老生常談的話題了,我們了解一下什么是域和跨域。域:協(xié)議 + 域名 + 端口;三者完全相同則為同域,反之有其一不同均為不同域。跨域請(qǐng)求:當(dāng)前【發(fā)起請(qǐng)求】的域和【請(qǐng)求指向】的域?qū)儆诓煌驎r(shí),該次請(qǐng)求稱(chēng)之為跨域請(qǐng)求
    2021-06-06
  • ReentrantReadWriteLock?讀寫(xiě)鎖分析總結(jié)

    ReentrantReadWriteLock?讀寫(xiě)鎖分析總結(jié)

    這篇文章主要介紹了ReentrantReadWriteLock 讀寫(xiě)鎖分析總結(jié),ReentranReadWriteLock中有兩把鎖,一把讀鎖,一把寫(xiě)鎖,關(guān)于這兩把鎖的介紹,需要的小伙伴可以參考一下
    2022-05-05
  • Java設(shè)計(jì)模式之代理模式與裝飾模式實(shí)例詳解

    Java設(shè)計(jì)模式之代理模式與裝飾模式實(shí)例詳解

    這篇文章主要介紹了Java設(shè)計(jì)模式之代理模式與裝飾模式,結(jié)合具體實(shí)例形式分析了代理模式與裝飾模式的概念、功能、java實(shí)現(xiàn)方法與相關(guān)使用注意事項(xiàng),需要的朋友可以參考下
    2017-09-09
  • 詳解Java設(shè)計(jì)模式編程中的訪問(wèn)者模式

    詳解Java設(shè)計(jì)模式編程中的訪問(wèn)者模式

    這篇文章主要介紹了Java設(shè)計(jì)模式編程中的訪問(wèn)者模式,訪問(wèn)者模式的合理利用可以避免項(xiàng)目中出現(xiàn)大量重復(fù)的代碼,需要的朋友可以參考下
    2016-02-02
  • java eclipse 中文件的上傳和下載示例解析

    java eclipse 中文件的上傳和下載示例解析

    這篇文章主要介紹了eclipse java中文件的上傳和下載示例解析,文件上傳,瀏覽器在上傳的過(guò)程中是將文件以流的形式提交到服務(wù)器端的。對(duì)此感興趣的小伙伴可以了解一下
    2020-07-07
  • 在?Java?中將Object?轉(zhuǎn)換為?Int的四種方法

    在?Java?中將Object?轉(zhuǎn)換為?Int的四種方法

    這篇文章主要介紹了在Java中如何將?Object?轉(zhuǎn)換為Int,本文研究了在?Java中將Object轉(zhuǎn)換為int的四種不同方法,結(jié)合示例代碼給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-05-05

最新評(píng)論