Spring jackson原理及基本使用方法详解
导入maven依赖
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.2</version> </dependency>
1、java对象转json
@Test public void test01() throws JsonProcessingException { //创建User对象 User user=new User("admin","1111"); //将user转为json格式 ObjectMapper objectMapper=new ObjectMapper(); String userString=objectMapper.writeValueAsString(user); System.out.println(userString); }
2、writeValue(参数1,obj)方法介绍
参数1
- File:将obj对象转换为json字符串,并保存到指定的文件中
- writer:将obj对象转换为json字符串,并将json数据填充到字符输出流中
- Outputstream:将obj对象转换为json字符串,并将json数据填充到字节输出流中
3、注解介绍
- @JsonIgnore:排除属性,即当前注解属性不转化json
- @JsonFormat:属性值的格式化
常用在日期属性上,eg:@sonFormat(pattern = "yyyy-MM-dd")
4、json转java对象
@Test public void test02() throws JsonProcessingException { //创建json对象 String json="{\"username\":\"admin\",\"password\":\"1111\"}"; //将json对象转为java对象 ObjectMapper objectMapper=new ObjectMapper(); User user=objectMapper.readValue(json,User.class); System.out.println(user); }
5、集合转json
@Test public void test03() throws JsonProcessingException { //创建User对象 User user=new User("admin","1111"); //存储User对象 List<User> userList=new ArrayList<User>(); userList.add(user); userList.add(user); userList.add(user); //集合转json ObjectMapper objectMapper=new ObjectMapper(); String listJson=objectMapper.writeValueAsString(userList); System.out.println(listJson); }
注:map集合的转换和list是一样的
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持我们。
相关推荐
-
java jackson 将对象转json时,忽略子对象的某个属性操作
我就废话不多说了,大家还是直接看代码吧~ //父对象 public class user implements java.io.Serializable { @JsonIgnoreProperties(value={"addressId"})//在解析成json时,忽略子属性的addressId字段 private Address address; private String username; //......... } //子对象 public class Address imp
-
详解springboot之jackson的两种配置方式
springboot 针对jackson是自动化配置的,如果需要修改,有两种方式: 方式一:通过application.yml 配置属性说明:## spring.jackson.date-format指定日期格式,比如yyyy-MM-dd HH:mm:ss,或者具体的格式化类的全限定名 spring.jackson.deserialization是否开启Jackson的反序列化 spring.jackson.generator是否开启json的generators. spring.jackson
-
jackson解析json字符串,首字母大写会自动转为小写的方法
问题 楼主碰到的问题是,在实体类和表中定义的某个字段为RMBPrice,首字母大写,sql查询出来的列名也是大写的RMBPrice,但是使用jquery的datatables初始化列时,却出错. 那一行的代码如下: {"name": "RMBPrice", "data": "RMBPrice", "className": "text-center", "render"
-
如何利用Jackson序列化忽略指定类型的属性详解
前言 本文准确来讲是探讨如何用 Jackson 来序列化 Apache avro 对象,因为简单用 Jackson 来序列化 Apache avro 对象会报错.原因是序列化 Schema getSchema() 时会报错,后面会讲到,需要序列化时忽略该属性.那么能不能在 getSchema() 上加上 @JsonIgnore 来忽略该属性呢?原理上是通的.不过手工修改的 avsc 生成的 Java 文件随时会因为重新编译而还原,所以不太具有实际可操作性,当然通过定制编译 avsc 用的模板文件
-
jackson 实体转json 为NULL或者为空不参加序列化(实例讲解)
使用jackson进行序列化时,往往会遇到后台某个实体对象的属性为null,当序列化成json时对应的属性也为null:这样在某些前端组件上应用该json对象会报错.(例如:echarts) 下面总结了两种方法,解决了当属性为null时不参与序列化: 方法一: 1.实体上使用如下注解 @JsonInclude(Include.NON_NULL) 将该标记放在属性上,如果该属性为NULL则不参与序列化 :如果放在类上边,那对这个类的全部属性起作用. 具体取值有: //Include.Include
-
基于Spring Web Jackson对RequestBody反序列化失败的解决
最近在用Spring Web做一些Restful API的实现试验,碰到了@RequestBody 的JSON无法被正常反序列化的问题.服务端的代码大致如下: @RequestMapping(value = "/aquas", method = RequestMethod.POST) public Aqua createAqua(@RequestBody Aqua aqua) { return aqua; } 研究后发现,由于Aqua这个实体类缺少了默认的无参构造函数(如果自行添加了有
-
SpringBoot2.0整合jackson配置日期格式化和反序列化的实现
网上杂七杂八的说法不一,大多数都是抄来抄去,没有实践,近期在项目频繁遇到boot+jackson处理日期的问题,故开此贴. 首先是POM <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance
-
例举fastJson和jackson转json的区别
首先举个fastJson和jackson转json的例子,然后对比两种的区别 例子1: { "statusCode": 800, "returnObj": { "hzOrderId": 14, "orderId": 2015111311521900000, "orderSendPlanId": 67 } } 1.jackson-ObjectMapper转json 上面是一个json字符串,有两层,一层是最外
-
Spring jackson原理及基本使用方法详解
导入maven依赖 <!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind --> <dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.11.
-
Spring Boot读取resources目录文件方法详解
这篇文章主要介绍了Spring Boot读取resources目录文件方法详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 在Java编码过程中,我们常常希望读取项目内的配置文件,按照Maven的习惯,这些文件一般放在项目的src/main/resources下,因此,合同协议PDF模板.Excel格式的统计报表等模板的存放位置是resources/template/test.pdf,下面提供两种读取方式,它们分别在windows和Linux
-
Spring Boot自定义错误视图的方法详解
Spring Boot缺省错误视图解析器 Web应用在处理请求的过程中发生错误是非常常见的情况,SpringBoot中为我们实现了一个错误视图解析器(DefaultErrorViewResolver).它基于一些常见的约定,尝试根据HTTP错误状态码解析出错误处理视图.它会在目录/error下针对提供的HTTP错误状态码搜索模板或者静态资源,比如,给定了HTTP状态码404,它会尝试搜索如下模板或者静态资源: /<templates>/error/404.<ext> - 这里<
-
Spring实现声明式事务的方法详解
1.回顾事务 事务在项目开发过程非常重要,涉及到数据的一致性的问题,不容马虎! 事务管理是企业级应用程序开发中必备技术,用来确保数据的完整性和一致性. 事务就是把一系列的动作当成一个独立的工作单元,这些动作要么全部完成,要么全部不起作用. 事务四个属性ACID 原子性(atomicity) 事务是原子性操作,由一系列动作组成,事务的原子性确保动作要么全部完成,要么完全不起作用. 一致性(consistency) 一旦所有事务动作完成,事务就要被提交.数据和资源处于一种满足业务规则的一致性状态中.
-
Spring Boot 控制层之参数传递方法详解
当然,您自己创建一个项目也是可以的. bean包下的Student.java package com.example.demo.bean; public class Student { private Integer id; //学号 private String name; //姓名 public Student() { } public Student(Integer id, String name) { this.id = id; this.name = name; } public In
-
Spring Security动态权限的实现方法详解
目录 1. 动态管理权限规则 1.1 数据库设计 1.2 实战 2. 测试 最近在做 TienChin 项目,用的是 RuoYi-Vue 脚手架,在这个脚手架中,访问某个接口需要什么权限,这个是在代码中硬编码的,具体怎么实现的,松哥下篇文章来和大家分析,有的小伙伴可能希望能让这个东西像 vhr 一样,可以在数据库中动态配置,因此这篇文章和小伙伴们简单介绍下 Spring Security 中的动态权限方案,以便于小伙伴们更好的理解 TienChin 项目中的权限方案. 1. 动态管理权限规则 通
-
Spring利用注解整合Mybatis的方法详解
目录 一.环境准备 步骤1:数据库相关 步骤2:导入jar包 步骤3:创建模型类 步骤4:创建Dao接口和实现类 步骤5:创建Service接口和实现类 步骤6:添加jdbc.properties文件 步骤7:添加Mybatis核心配置文件 步骤8:编写测试程序 二.整合思路分析 三.整合步骤 步骤1:导入整合jar包 步骤2:创建数据源配置类 步骤3:创建Mybatis配置类 步骤4:创建Spring主配置类 步骤5:编写运行程序 一.环境准备 步骤1:数据库相关 建库建表 创建spring_
-
Spring中bean集合注入的方法详解
目录 Map注入 List注入 Set注入 数组注入 应用 哈喽大家好啊,我是Hydra. Spring作为项目中不可缺少的底层框架,提供的最基础的功能就是bean的管理了.bean的注入相信大家都比较熟悉了,但是有几种不太常用到的集合注入方式,可能有的同学会不太了解,今天我们就通过实例看看它的使用. 首先,声明一个接口: public interface UserDao { String getName(); } 然后定义两个类来分别实现这个接口,并通过@Component注解把bean放入s
-
Spring中自定义数据类型转换的方法详解
目录 类型转换服务 实现Converter接口 实现ConverterFactory接口 实现GenericConverter接口 环境:Spring5.3.12.RELEASE. Spring 3引入了一个core.onvert包,提供一个通用类型转换系统.系统定义了一个SPI来实现类型转换逻辑,以及一个API来在运行时执行类型转换.在Spring容器中,可以使用这个系统作为PropertyEditor实现的替代,将外部化的bean属性值字符串转换为所需的属性类型.还可以在应用程序中需要类型转
-
Spring Bean注册与注入实现方法详解
目录 1. 逻辑上的 Bean 注册 2. XML 注册 Bean 到自建的库中 2.1 工厂方法 2.2 使用工厂方法和实例化工厂注册 Bean 3. XML 配合注解进行 Bean 注册 4. 使用注解注册 Bean 4.1 注解方式注册的必要条件 4.2 用到的注解 4.3 @Component注解注入 4.4 使用 @Bean 注解注册 5. 通过注解注入 Bean 6. 注入时的一个坑点 7. 获取 库中的对象 上接[Spring]spring核心思想——IOC和DI 上篇文章结尾简单
随机推荐
- React.Js添加与删除onScroll事件的方法详解
- Aut2Exe编译au3脚本为可执行文件
- 详解git中配置的.gitignore不生效的解决办法
- php示例详解Constructor Prototype Pattern 原型模式
- PHP的mysqli_query参数MYSQLI_STORE_RESULT和MYSQLI_USE_RESULT的区别
- js简易版购物车功能
- php数组索引与键值操作技巧实例分析
- You don’t have permission to access /index.php on.
- shell脚本连接、读写、操作mysql数据库实例
- 高性能WEB开发 为什么要减少请求数,如何减少请求数!
- JDBC 入门(一)
- 解决jquery中美元符号命名冲突问题
- 用javascript实现画板的代码
- 文本框中,回车键触发事件的js代码[多浏览器兼容]
- C#初始化数组的方法小结
- FSO操作示例(给初学者)
- struts2的流程和一系列相关知识代码解析
- python3+PyQt5实现自定义分数滑块部件
- python 利用pandas将arff文件转csv文件的方法
- 详解Nginx限流配置