Java中Map与JSON数据之间的互相转化
作者:韩凡 发布时间:2021-10-26 01:56:19
标签:map,json,互相转化
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"}
根据以上转换,不难得出三者之间的关系 (图丑,勿喷。)
为了方便记忆,可以换一种思维,
Map转jsonObject时,Map是主体,JSON代表的是Map【简称,JSON代表Map】;
jsonObject转Map时,jsonObject是主体,jsonObject代表的还是JSONObject【简称,我代表我自己】
Map与JSON的区别,我只知道是“=”与“:” 之间的区别。
/* 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是”=“,jsonObject是”:“,
究竟用哪个,以实际情况确定。
IDEA功能快捷键
全局搜索:+
根据文件名搜索:++
在某一个类中搜索:+
加注释【/**/】:++[两次使用,则是放开注释]
【// 】:+[两次使用,则是放开注释]
来源:https://blog.csdn.net/weixin_42684369/article/details/124324729


猜你喜欢
- 一、带时区的时间1.获取当前时间对象(带时区)import java.time.ZonedDateTime;public class dem
- 最近开发的时候,偶尔遇到在线上稳定运行的webview内嵌的h5页面加载不出来,一直定位不到具体原因(因为我们自己做的兼容性测试上不重现),
- 这篇文章主要介绍了MyBatis执行Sql的流程实例解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的
- we can custom min heap or max heap by override the method compare.pack
- 什么是HystrixHystrix是Netflix针对微服务分布式系统的熔断保护中间件,当我们的客户端连接远程的微服务时,有两种情况需要考虑
- 我们开始今天的正文。首先,来看一下今天分享的并发编程最佳学习路线包含哪些内容。最佳学习路线接下来,我们再来依次看下具体要学习哪些知识吧。并发
- spring-task定时任务动态配置修改执行时间因项目需要,几个定时任务需要人为动态设置执行时间,于是乎吧,就查阅相关资料,是可以动态设置
- 本文实例讲述了WinForm实现自定义右下角提示效果的方法。分享给大家供大家参考。具体实现方法如下:using System;using S
- 持久层的那些事什么是 JDBCJDBC(JavaDataBase Connectivity)就是 Java 数据库连接, 说的直白点就是 使
- 本文为大家分享了Android横竖屏切换及其对应布局加载问题,供大家参考,具体内容如下第一,横竖屏切换连带横竖屏布局问题:如果要让软件在横竖
- JPanel是面板组件,非顶层容器,一个界面只有可以有一个JFrame窗体组件,但可以有多个Jpanel面板,而JPanel上也可以使用Fl
- 一、概述现在大多数的电商APP的详情页长得几乎都差不多,几乎都是上面一个商品的图片,当你滑动的时候,会有Tab悬浮在上面,这样做用户体验确实
- 本文介绍了C#中csv文件与DataTable互相导入处理实例解析,主要功能代码封装处理下,相对比较简单。以后项目用到的话可以直接使用。具体
- 通常情况下,Android实现自定义控件无非三种方式。Ⅰ、继承现有控件,对其控件的功能进行拓展。Ⅱ、将现有控件进行组合,实现功能更加强大控件
- 概述在使用Spring Boot的时候我们经常使用actuator,健康检查,bus中使用/refresh等。这里记录如何使用注解的方式自定
- MybatisMyBatis ,是国内最火的持久层框架采用了ORM思想解决了实体类和数据库表映射的问题。对JDBC进行了封装,屏蔽了JDBC
- 在对接第三方支付的时候,第三方会要求参数按照ASCII码从小到大排序。如下:public static void requestPay()
- Struts2 * Struts2 * 的概念和Spring Mvc * 一样。1.Struts2 * 是在访问某个Action或Actio
- 当屏幕转动切换的时候 Android 机制是:销毁当前屏幕的 Activity ,然后重新开启一个新的适应屏幕改变的 Activity 。那
- 释一:属性的访问器包含与获取(读取或计算)或设置(写)属性有关的可执行语句。访问器声明可以包含 get 访问器或 set 访问器,或者两者均