介绍

导包

例子

封装工具,方便调用

转换


介绍

Jackson是一个将json数据与Java对象相互转换的工具,其核心对象是ObjectMapper

导包

使用maven导入

<!-- lombok核心包  -->
<dependency><groupId>org.projectlombok</groupId><artifactId>lombok</artifactId><version>1.18.10</version>
</dependency>
<!-- Jackson核心包  -->
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>2.9.8</version>
</dependency>

例子

定义一个学生类Student

package com.lingaolu.bean;import lombok.AllArgsConstructor;
import lombok.Data;
import lombok.NoArgsConstructor;import java.util.Date;@Data
@AllArgsConstructor
@NoArgsConstructor
public class Student{private String name;private Integer age;private Date birDate;
}

封装工具,方便调用

package com.lingaolu.utils;import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.fasterxml.jackson.databind.SerializationFeature;
import org.springframework.util.StringUtils;import java.io.IOException;
import java.text.SimpleDateFormat;/*** 【作者】 林高禄* 【描述】 Jackson工具类* 【时间】 2020/11/19 15:34**/
public class JacksonUtils {/*** 【作者】 林高禄* 【描述】 json转为字符串* 【时间】 2020/11/19 15:31* 【参数】 jsonString* 【参数】 aClass* 【返回】 T* 【异常】 无**/public static <T> T  getObject(String jsonString,Class<T> aClass){ObjectMapper mapper = new ObjectMapper();T t = null;try {t = mapper.readValue(jsonString, aClass);} catch (IOException e) {e.printStackTrace();}return t;}/*** 【作者】 林高禄* 【描述】 获取json字符串* 【时间】 2020/11/19 15:31* 【参数】 object* 【返回】 java.lang.String* 【异常】 无**/public static String getJson(Object object){return getJson(object,null);}/*** 【作者】 林高禄* 【描述】 获取json字符串* 【时间】 2020/11/19 15:32* 【参数】 object* 【参数】 dateFormat* 【返回】 java.lang.String* 【异常】 无**/public static String getJson(Object object,String dateFormat) {ObjectMapper mapper = new ObjectMapper();if(StringUtils.hasLength(dateFormat)){// 不使用时间戳的方式mapper.configure(SerializationFeature.WRITE_DATES_AS_TIMESTAMPS,false);// 自定义日期格式SimpleDateFormat simpleDateFormat = new SimpleDateFormat(dateFormat);mapper.setDateFormat(simpleDateFormat);}try{return mapper.writeValueAsString(object);}catch (JsonProcessingException e){e.printStackTrace();}return null;}
}

我只简单封装 几个方法,其他跟高级的用法可以根据情况自己封装

转换

测试代码

 public static void main(String[] args) {Student student = new Student("林某",27,new Date());// 无日期格式,学生对象转为jsonString json1 = JacksonUtils.getJson(student);System.out.println(json1);// json转为学生对象Student object = JacksonUtils.getObject(json1, Student.class);System.out.println(object);// 指定日期格式,学生对象转为jsonString json2 = JacksonUtils.getJson(student,"YYYY-MM-DD HH:mm;ss");System.out.println(json2);}

测试结果

json转换工具Jackson相关推荐

  1. JSON转换工具---jackson

    1.json传递中和javaBean对象的关系 == 打印出来的字符串,对象和键值集合用{}, 数组和用[]== 2.json的转换 总测试类:以下转换都为单元测试方法 public class Ob ...

  2. 高效的JSON转换工具

    在网上搜索了一番发现用json-lib进行json格式转换的还真不少,但是经过测试性能不太令人满意,同类工具中还有个后起 之秀那就是jackson,单从性能上说要比json-lib好很多,于是在项目中 ...

  3. JSON转换工具简单使用

    JSON介绍 JSON 的转换工具是通过 JAVA 封装好的一些 JAR 工具包. 可以将 JAVA 对象或集合转换成 JSON 格式的字符串,也可以将 JSON 格式的字符串转成 JAVA 对象. ...

  4. 前端学习(1409):多人管理29安装json转换工具

    json转换工具 打开谷歌 chrome://flags/#extensions-on-chrome-urls

  5. Json解析工具Jackson(使用注解)

    接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties ...

  6. 【Springboot】Json转换工具

    HttpClient请求数据后是json字符串,需要我们自己把Json字符串反序列化为对象,我们会使用JacksonJson工具来实现. JacksonJson是SpringMVC内置的json处理工 ...

  7. 常用的JSON转换工具类

    最近在写项目的时候,经常会有String转Object以及Object转Json字符串的需求,或者JSONArray转Lsit以及List转JSONArray的需求,所以抽时间封装一个常用Json工具 ...

  8. Json解析工具Jackson(简单应用)

    概述 Jackson库(http://jackson.codehaus.org),是基于Java语言的开源json格式解析工具,整个库(使用最新的2.2版本)包含3个jar包: jackson-cor ...

  9. json转换工具Fastjson

    介绍 导包 例子 介绍 Fastjson是一个将json数据与Java对象相互转换的工具 导包 使用maven导入 <!-- lombok核心包 --> <dependency> ...

最新文章

  1. jquery 获取前两个table里的每个tr里面的第二个td
  2. C# web实现word 转Html、office转Html、pdf转图片 在线预览文件
  3. 决策树随笔-深度AI科普团队
  4. iPhone 13系列将首发A15芯片:采用增强版5nm工艺 性能提升20%
  5. flex布局演示(可线上运行项目)
  6. Linux的i2c驱动详解
  7. xcode,cocoa开发:如何使用第三方的dylib
  8. UE4官方文档UI学习:4.UMG 创建控件模板
  9. markdown实时分块渲染引擎
  10. Ruby静态分析工具检视:metric_fu, Simian, Saikuro以及其他
  11. 常见的十几种编程语言介绍
  12. Java 两个日期间的天数计算
  13. 【Google Chrome】打开本地html文件报错问题
  14. 查询课程数mysql_mysql_数据查询练习
  15. arch配置之百度网盘
  16. glib实现Socket通信
  17. (投影:Projector)Unity Projector 投影器原理以及优化
  18. 论文阅读 - On the efficacy of old features for the detection of new bots - CCF B
  19. 使用HBuilderX云打包App之视频相机权限配置
  20. 小米笔记本 wifi 频繁断开重连 解决方案

热门文章

  1. 大嘴刘强东与京东纸老虎
  2. wps中删除我的设备(已经不使用的)
  3. c语言程序代码应缩进几格,汉诺塔c语言程序代码
  4. MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
  5. 无法播放.请确保你的计算机的声卡和视频卡可以使用,并安装了最新的驱动程序
  6. Microsoft Edge 离线下载安装技巧
  7. Android WebView 加载失败(net::ERR_CLEARTEXT_NOT_PERMITTED)
  8. TCP 内核参数说明
  9. Android学习之如何集成极光IM功能(一)
  10. java多线程的优势