Jackson的使用 | 青训营笔记

138 阅读2分钟

Jackson的使用

这是我参与「第四届青训营 」笔记创作活动的第3天

为什么要使用Jackson

​ 在我们进行项目开发的过程中,不可避免的要和数据传输打交道,前端和后端进行数据传输运用的是json数据格式

​ 前端和后端拿到收到的json数据的时候一般是一个json字符串,那么我们要怎么去使用呢,首先对于java语言来说,就是需要把json数据转成JavaBean对象,然后我们直接在这个JavaBean对象里面进行取数据就好了

​ 那么对于go、c++这种语言来说,就是需要将json数据转成struct结构体,然后在后续的过程中直接从结构体里面拿取数据

​ 那么jackson这个工具就可以很方便让我们实现这一转换过程

导入Jackson依赖

implementation 'com.fasterxml.jackson.core:jackson-core:2.9.8'
implementation 'com.fasterxml.jackson.core:jackson-annotations:2.9.8'
implementation 'com.fasterxml.jackson.core:jackson-databind:2.9.8'

将这三行代码添加到build.gradle中即可下载依赖

Jackson简单使用

在使用Jackson之前,我们需要根据json数据创建JavaBean的类,当然对于一个很复杂的json数据,手写显然不太可能

所以我们需要使用一些工具网站,将json数据复制进去然后网站会自动给我们生成JavaBean对象,根据生成的JavaBean对象在我们的项目里创建对应的JavaBean类

屏幕截图 2022-08-22 233733.png

这就是网站给我们生成好的JavaBean类

JSONObject jsonObject = JSONObject.parseObject(str);

首先是这行代码,我们拿到的json字符串为str

然后我们利用一个jsonObject类里的方法将json字符串转成一个json对象

userMessage = JSON.toJavaObject(jsonObject ,UserMessage.class);

然后利用这行代码,将json对象转成一个java对象,并且存储到我们定义的user Message中

接下面我们就可以使用这个userMessage进行取数据,这样整个流程就完成了

String str = execute.body().string();
JSONObject jsonObject = JSONObject.parseObject(str);
userMessage = JSON.toJavaObject(jsonObject ,UserMessage.class);

这是整个的三行代码