map和json数组以及JSON对象和的区别以及相互转换
文章目录
- 前言
- 一、什么是map和json数组以及JSON对象?
- 1.1什么是map?
- 1.2什么是json数组?
- 1.3什么是JSON对象?
- 二、三者相互转换
- 2.1引入fastjson的依赖
- 2.2map转json字符串
- 2.3map转JSON对象
- 2.4json字符串转map
- 2.5json字符串转JSON对象
- 2.6JSON对象转json字符串
- 2.7JSON对象转map
- 总结
前言
在开发中经常需要存储或者传递一些数据,其中用的比较多的就是map和json,这两者之间长的非常像,都属于key和value的形式,二者有何区别与联系?可以相互转换吗?下面就来介绍一下map和json的区别以及二者相互转换的方法。
一、什么是map和json数组以及JSON对象?
1.1什么是map?
map是K-V类型的数据,map有多种实现类,主要有hashmap、linkedhashmap、treemap等。
map实际上是有一个个entry对象组成,entry对象包含key、value、next、hash值,我们可以往key和value中put值,next指向当前entry对象的下一个对象,hash值是根据key值经过计算得到的hash值。
1.2什么是json数组?
json就是一种数据格式,其本质是一个字符串,标准格式为:名称:值对。其中值可以是数字、字符串(带上双引号)、布尔值(true或false)、数组(方括号)、对象(花括号)。
例如:{“id”:001,“name”:“张三”,“Boolens”:true,“Array”:[a,b,c],"object:{}}。 可以通过辅助类库进行解析,获得对应的值。
json在前后端交互中使用较为广泛。
1.3什么是JSON对象?
JSON是js对象标记,在js中使用js对象进行处理,但是在与后端交互过程中需要发送规定的json格式的字符串,所以在给后端发送或接收数据的时候,需要进行JSON对象与json字符串之间的转换。
二、三者相互转换
使用alibaba的fastjson来进行转换。
2.1引入fastjson的依赖
在pom.xml中添加fastjson依赖:
<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>1.2.8</version></dependency>
2.2map转json字符串
String str = JSON.toJSONString(myMap);
2.3map转JSON对象
JSONObject JSONObject = JSONObject.parseObject(JSON.toJSONString(myMap));
2.4json字符串转map
Map<String,Object> myMap = JSONObject.parseObject(jsonStr);
2.5json字符串转JSON对象
JSONObject jsonObject = JSONObject.parseObject(jsonStr);
2.6JSON对象转json字符串
String jsonToStr = jsonObject.toJSONString();
2.7JSON对象转map
先讲JSON对象转换成json字符串,再将json字符串转换成map
Map<String,Object> jsonToMap = JSONObject.parseObject(jsonObject.toJSONString());
总结
后续还可以根据需要,将数据转换成list数组形式等等,都可以使用fastjson来进行转换,也可以使用谷歌的gson来进行转换。
map和json数组以及JSON对象和的区别以及相互转换相关推荐
- json 中关于json数组跟json对象的区别
JSON 是存储和交换文本信息的语法:JSON 文本格式在语法上与创建 JavaScript 对象的代码相同.由于这种相似性,无需解析器,JavaScript 程序能够使用内建的 eval() 函数, ...
- 25 Flutter Json数组转换为List对象及Dio请求结果换为List对象
FlutterJson数组转换为List对象及Dio请求结果换为List对象 1.实体类 class VideoInfo {String body;int id;String title;int us ...
- MapString, Object map 集合转 json数组, json数组转list ,按条输出到es
2019独角兽企业重金招聘Python工程师标准>>> Map<String, Object> map 集合转 json数组, json数组转list ,按条输出到es ...
- Qt中的JSON操作_1: JSON的基本知识介绍(JSON格式、JSON数组、JSON对象、应用场景)
总结放于前: JSON是一种利用JSON数组和JSON对象描述数据内容的数据格式,采用树状的结构,只能有一个父节点,子节点不设限,但父子节点均为JSON对象或者JSON数组. 1. Json 简介 J ...
- js form表单转json字符串,json数组转json字符串出现多余的双引号问题解决
功能介绍 页面展示的是一个用户的基本信息,和该用户对应的几台车辆的信息,车辆的字段属性都一样.然后可以编辑这些信息,再保存到后台.那么就需要考虑将车辆信息转换为json数组类型的字符串 ...
- JSON数组,JSON对象,数组的区别
一.JSON 语法规则: JSON 是存储和交换文本信息的语法 在开发过程中,经常需要和别的系统交换数据,数据交换的格式有XML.JSON等, JSON作为一个轻量级的数据格式比xml效率要高,XML ...
- jquery中json数组转成对象的方法
rights=JSON.parse(str); 其中str为后台传过来的json数组的字符串,前台我放到input标签中了然后jquery获取到的是json数组的字符串,然后再js中用上面的语句就可以 ...
- JS/Jquery遍历JSON对象、JSON数组、JSON数组字符串、JSON对象字符串
JS遍历JSON对象 JSON对象 var jsonObj = {"id": 102,"year": "2019-2020","l ...
- 创建json数组与json数组渲染到HTML
json数组格式大家都不陌生,与python的字典一样,简而言之 就是JS当中的数据类型, 那我们如何把数据类型展示出来,模拟数据库SQL语句查询方法获取数据 html: //简单的DIv盒子包裹,命 ...
- Mybatis自定义Handler实现Json数组转List对象
先定义一个ListTypeHandler package com.fiture.marine.utils;import java.sql.CallableStatement; import java. ...
最新文章
- Python实战 | 送亲戚,送长辈,月饼可视化大屏来帮忙!
- 关于hive中Map join 时大表left join小表的问题
- HDR 拍照模式的原理,实现及应用
- 自媒体运营要知道的哪些知识
- Windows Server 2012活动目录基础配置与应用(新手教程)之4---域用户的基本管理...
- android,面向对象
- python实现文本编辑器_Python-tkinter实现简单的文本编辑器
- 发了篇paper,双非二本的她直博浙大
- established 太多_ss -s closed过多,NON_ESTABLISHED告警
- 如何用Lucene实现实时搜索--Tripod
- 面试题:return和finally执行
- java 管理多线程_Java线程管理(一)多线程
- 惠普HP LaserJet Pro MFP M126nw 打印机驱动
- 小白怎么入门网络安全?看这篇就够啦!
- (附源码)springboot宠物管理系统 毕业设计 121654
- roms netcdf结构体用法(弃用)
- 【自然语言处理(NLP)】基于FNN网络的电影评论情感分析
- 函数对象,lamdda表达式,function函数包装,std::bind函数绑定
- arcgis新建图层信息复制_arcgis如何创建图层要素 专家详解
- JAVA个人博客系统毕业设计,个人博客系统设计与实现,个人博客网页设计毕设作品
热门文章
- Shiro - Shiro简介;Shiro与Spring Security区别;Spring Boot集成Shiro
- 2021年压力焊工作业考试题库
- 微信朋友圈功能测试用例
- jpg png jpeg 图片无损压缩工具
- 48.网络安全渗透测试—[穷举篇11]—[webshell密码破解(asp/aspx/php)]
- Web实训项目--网页设计(附源码)
- DirectX12(D3D12)基础教程(十八)—— PBR基础从物理到艺术(中)
- UE4官方文档UI学习:3.UMG 创建暂停菜单
- java web工程师百度云教程_JavaWeb工程师全套视频教程 (初级+中级+高级) 一共485集 送面试辅导...
- JAVA电影院售票系统毕业设计 开题报告