【SSM_Day3】JSON字符串和Java对象互转
- JSON档案
- JSON字符串和Java对象互转
- BEJSON:在线JSON格式化校验工具
JSON档案
数据格式是描述数据保存在文件或记录中的规则,比如Excel就是一种数据格式,数据保存在Excel的表格中。JSON也是一种数据格式,数据保存在键值对中。
JSON的本质是⼀个能表示对象的字符串,通过文本来存储和描述数据。所以JSON格式的数据可以在不同的语⾔中被传递和交换。
以下是一段合法的JSON数据:
JSON字符串和Java对象互转
JSON字符串和Java对象互转,需要借助第三方的工具。比较广泛使用的工具有Jackson/fastjson/fastjson2等。
SpringMVC框架中集成了jackson-databind工具包。我们可以直接使用,来完成JSON字符串和Java对象的互转。
但如果脱离SpringMVC使用jackson-databind,需要引入相关依赖。
jackson-databin的依赖坐标如下:
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.13.5</version>
</dependency>
总结在SpingMVC中如何使用jackson-databin进行JSON字符串和Java对象之间的互转:
先在代码中直接注入ObjectMapper对象,ObjectMapper对象提供了两个方法,可以完成对象和JSON字符串的互转。writeValueAsString()方法能把对象转为JSON字符串;readValue()方法能把字符串转为对象。
Java语法回顾:当类里没有显示书写的构造函数时,类的无参构造函数默认存在。当类里显示书写了有参构造函数,无参构造就没有了。
在使用writeValueAsString()和readValue()的时候,建议把目标对象所在类里面的无参构造函数显示书写出来,比如上述代码中的Person类,显示书写出它的无参构造函数。
BEJSON:在线JSON格式化校验工具
BEJSON的地址:https://www.bejson.com/。
可以用BEJSON来校验和书写JSON数据,BEJSON还有压缩JSON数据等功能。