首页  >  文章  >  Java  >  如何在Java中将Map和JSON数据相互转换?

如何在Java中将Map和JSON数据相互转换?

PHPz
PHPz转载
2023-04-27 15:40:083388浏览

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<String,Object> 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<String,Object> 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+Shift+R/T

在某一个类中搜索:Ctrl+F

加注释【/**/】:Ctrl+Shift+/[两次使用,则是放开注释]

【// 】:Ctrl+/[两次使用,则是放开注释]

以上是如何在Java中将Map和JSON数据相互转换?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文转载于:yisu.com。如有侵权,请联系admin@php.cn删除