json转换工具Jackson
介绍
导包
例子
封装工具,方便调用
转换
介绍
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相关推荐
- JSON转换工具---jackson
1.json传递中和javaBean对象的关系 == 打印出来的字符串,对象和键值集合用{}, 数组和用[]== 2.json的转换 总测试类:以下转换都为单元测试方法 public class Ob ...
- 高效的JSON转换工具
在网上搜索了一番发现用json-lib进行json格式转换的还真不少,但是经过测试性能不太令人满意,同类工具中还有个后起 之秀那就是jackson,单从性能上说要比json-lib好很多,于是在项目中 ...
- JSON转换工具简单使用
JSON介绍 JSON 的转换工具是通过 JAVA 封装好的一些 JAR 工具包. 可以将 JAVA 对象或集合转换成 JSON 格式的字符串,也可以将 JSON 格式的字符串转成 JAVA 对象. ...
- 前端学习(1409):多人管理29安装json转换工具
json转换工具 打开谷歌 chrome://flags/#extensions-on-chrome-urls
- Json解析工具Jackson(使用注解)
接上一篇文章Json解析工具Jackson(简单应用),jackson在实际应用中给我们提供了一系列注解,提高了开发的灵活性,下面介绍一下最常用的一些注解 @JsonIgnoreProperties ...
- 【Springboot】Json转换工具
HttpClient请求数据后是json字符串,需要我们自己把Json字符串反序列化为对象,我们会使用JacksonJson工具来实现. JacksonJson是SpringMVC内置的json处理工 ...
- 常用的JSON转换工具类
最近在写项目的时候,经常会有String转Object以及Object转Json字符串的需求,或者JSONArray转Lsit以及List转JSONArray的需求,所以抽时间封装一个常用Json工具 ...
- Json解析工具Jackson(简单应用)
概述 Jackson库(http://jackson.codehaus.org),是基于Java语言的开源json格式解析工具,整个库(使用最新的2.2版本)包含3个jar包: jackson-cor ...
- json转换工具Fastjson
介绍 导包 例子 介绍 Fastjson是一个将json数据与Java对象相互转换的工具 导包 使用maven导入 <!-- lombok核心包 --> <dependency> ...
最新文章
- jquery 获取前两个table里的每个tr里面的第二个td
- C# web实现word 转Html、office转Html、pdf转图片 在线预览文件
- 决策树随笔-深度AI科普团队
- iPhone 13系列将首发A15芯片:采用增强版5nm工艺 性能提升20%
- flex布局演示(可线上运行项目)
- Linux的i2c驱动详解
- xcode,cocoa开发:如何使用第三方的dylib
- UE4官方文档UI学习:4.UMG 创建控件模板
- markdown实时分块渲染引擎
- Ruby静态分析工具检视:metric_fu, Simian, Saikuro以及其他
- 常见的十几种编程语言介绍
- Java 两个日期间的天数计算
- 【Google Chrome】打开本地html文件报错问题
- 查询课程数mysql_mysql_数据查询练习
- arch配置之百度网盘
- glib实现Socket通信
- (投影:Projector)Unity Projector 投影器原理以及优化
- 论文阅读 - On the efficacy of old features for the detection of new bots - CCF B
- 使用HBuilderX云打包App之视频相机权限配置
- 小米笔记本 wifi 频繁断开重连 解决方案
热门文章
- 大嘴刘强东与京东纸老虎
- wps中删除我的设备(已经不使用的)
- c语言程序代码应缩进几格,汉诺塔c语言程序代码
- MySQL8.0安装教程,在Linux环境安装MySQL8.0教程,最新教程 超详细
- 无法播放.请确保你的计算机的声卡和视频卡可以使用,并安装了最新的驱动程序
- Microsoft Edge 离线下载安装技巧
- Android WebView 加载失败(net::ERR_CLEARTEXT_NOT_PERMITTED)
- TCP 内核参数说明
- Android学习之如何集成极光IM功能(一)
- java多线程的优势