map和json数组以及JSON对象和的区别以及相互转换


前言

在开发中经常需要存储或者传递一些数据,其中用的比较多的就是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来进行转换。

  • 12
    点赞
  • 37
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值