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类
这就是网站给我们生成好的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);
这是整个的三行代码