Java中Map与JSON数据之间的互相转化

作者:韩凡 时间:2021-10-26 01:56:19 

map

此内容是方便博主自己记忆内容,不用于公开学习资料,若发现语法错误,自行更正,勿喷

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的区别,我只知道是&ldquo;=&rdquo;与&ldquo;:&rdquo; 之间的区别。

/* map转化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);

//      打印的结果是:       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是&rdquo;=&ldquo;,jsonObject是&rdquo;:&ldquo;,

究竟用哪个,以实际情况确定。

IDEA功能快捷键

全局搜索:+

根据文件名搜索:++

在某一个类中搜索:+

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

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

来源:https://blog.csdn.net/weixin_42684369/article/details/124324729

标签:map,json,互相转化
0
投稿

猜你喜欢

  • Spring Boot整合Web项目常用功能详解

    2023-06-04 17:14:21
  • C#中OpenCVSharp实现轮廓检测

    2022-04-03 17:38:11
  • java中@SuppressWarnings注解用法详解

    2023-09-20 23:11:40
  • java的三种随机数生成方式

    2022-03-06 13:43:57
  • Spring boot Mybatis 整合(完整版)

    2023-03-28 17:14:32
  • C#生成随机数实例

    2023-09-17 23:28:28
  • C#用链式方法表达循环嵌套

    2023-04-14 06:54:23
  • java判断字符串是否为数字的方法小结

    2023-11-25 05:54:52
  • java之函数式接口解读

    2022-07-16 16:32:46
  • 在类库或winform项目中打开另一个winform项目窗体的方法

    2023-08-14 06:47:31
  • Intellij IDEA 2018配置Java运行环境的方法步骤

    2023-06-08 09:56:50
  • MyBatis逆向⼯程的生成过程

    2023-11-28 17:29:22
  • C#实现微信红包功能

    2023-11-30 02:49:51
  • dotNet中的反射用法入门教程

    2023-12-01 01:08:28
  • 关于activemq安装配置以及启动错误的解决

    2023-11-13 05:18:02
  • Spring Boot Gradle发布war到tomcat的方法示例

    2021-09-24 11:36:57
  • java.lang.Runtime.exec的左膀右臂:流输入和流读取详解

    2023-08-06 04:59:03
  • idea 如何查找类中的某个方法

    2022-03-17 17:17:42
  • Java8时间api之LocalDate/LocalDateTime的用法详解

    2023-11-10 16:14:43
  • Spring Security中使用authorizeRequests遇到的问题小结

    2023-10-07 04:23:45
  • asp之家 软件编程 m.aspxhome.com