广告
返回顶部
首页 > 资讯 > 后端开发 > JAVA >【Spring Boot丨(11 )】json的集成
  • 420
分享到

【Spring Boot丨(11 )】json的集成

springbootjsonjava后端 2023-08-19 07:08:10 420人浏览 泡泡鱼
摘要

集成JSON 概述JacksonGsonJSON-B 主页传送门:📀 传送 概述 Spring Boot 提供了三种json库的集成: GsonJacksonJSON-B 上述三种库提供了将Jav

在这里插入图片描述

主页传送门:📀 传送

概述


Spring Boot 提供了三种json库的集成:

  • Gson
  • Jackson
  • JSON-B

上述三种库提供了将Java对象转换为JSON字符串以及将JSON字符串转换为Java对象的功能。
其中Jacksonspring Boot 官方的首选推荐和默认库。

Jackson


  Spring Boot 提供了 Jackson的自动配置,并且Jacksonspring-boot-starter-json 的一部分。当 Jackson 在类路径上时,会自动配置 ObjectMapper bean

自定义配置属性:

ObjectMapper具有以下自定义属性:

  • MapperFeature.DEFAULT_VIEW_INCLUSioN 被禁用

  • DeserializationFeature.FaiL_ON_UNKNOWN_PROPERTIES 被禁用

  • SerializationFeature.WRITE_DATES_AS_TIMESTAMPS 被禁用

  Spring Boot 还有一些功能可以更轻松地自定义此行为。使用环境配置ObjectMapper和XmlMapper实例。 Jackson

供了一套广泛的开/关功能,可用于配置其处理的各个方面。这些特征在六个枚举(Jackson中)中进行了描述,这些枚举映射到

环境中的属性如下:

枚举属性
com.fasterxml.jackson.databind.DeserializationFeaturespring.jackson.deserialization.true,false
com.fasterxml.jackson.core.JsonGenerator.Featurespring.jackson.generator.true,false
com.fasterxml.jackson.databind.MapperFeaturespring.jackson.mapper.true,false
com.fasterxml.jackson.core.JsonParser.Featurespring.jackson.parser.true,false
com.fasterxml.jackson.databind.SerializationFeaturespring.jackson.serialization.true,false
com.fasterxml.jackson.annotation.JsonInclude.Includespring.jackson.default-property-inclusionalways, non_null, non_absent, non_default,non_empty

示例:

spring.jackson.date-fORMat= // 序列化日期对象时使用的格式。日期格式字符串或完全限定的日期格式类名。例如,`yyyy-MM-dd HH:MM:ss`spring.jackson.default-property-inclusion= // 控制序列化过程中包含的属性。使用Jackson的JsonInclude.Include枚举中的一个值配置。spring.jackson.deserialization.*= // 影响Java对象反序列化方式的Jackson开/关特性。spring.jackson.generator.*= // 用于Jackson发生器的开关功能。spring.jackson.joda-date-time-format= // Joda日期时间格式字符串。如果没有配置,则如果使用格式字符串配置“日期格式”时会将其用作回退。spring.jackson.locale= // 用于格式化的区域设置。spring.jackson.mapper.*= // Jackson 通用开关功能。spring.jackson.parser.*= // 解析程序的Jackson开/关功能。spring.jackson.property-naming-strategy= //Jackson属性命名策略中的一个常数。也可以是PropertyNamingStrategy子类的完全限定类名。spring.jackson.serialization.*= // 影响Java对象序列化方式的Jackson开/关特性。spring.jackson.serialization.indent_output=true // 启用漂亮的打印  松散绑定原则,不需要大小写一致spring.jackson.time-zone= // 设置日期格式时使用的时区。例如,“美国/洛杉矶”或“GMT+10”.spring.jackson.visibility.*= // 可用于限制自动检测哪些方法(和字段)的Jackson可见性阈值。

Gson


  Spring Boot 提供了 Gson 的自动配置。当 Gson 在 classpath 上时,会自动配置 Gson bean。提供了几个 spring.gson.* 配置属性来自定义配置。为了获得更多控制,可以使用一个或多个 GsonBuilderCustomizer bean。

配置属性:

spring.gson.date-format= # 序列化日期对象时使用的格式.spring.gson.disable-html-escaping= # 是否禁用HTML字符的转义,如“<”、“>”等。spring.gson.disable-inner-class-serialization= # 是否在序列化期间排除内部类。spring.gson.enable-complex-map-key-serialization= # 是否启用复杂映射键(即非基元)的序列化。spring.gson.exclude-fields-without-expose-annotation= # 是否将所有没有“Expose”注释的字段排除在序列化或反序列化的考虑范围之外spring.gson.field-naming-policy= # 在序列化和反序列化期间应应用于对象字段的命名策略。spring.gson.generate-non-executable-json= # 是否通过在输出前添加一些特殊文本来生成不可执行的JSONspring.gson.lenient= # 对于解析不符合RFC 4627JSON是否宽容。spring.gson.long-serialization-policy= # 长类型和长类型的序列化策略。spring.gson.pretty-printing= # 是否输出适合页面进行漂亮打印的序列化JSON。spring.gson.serialize-nulls= # 是否序列化空字段。

JSON-B


  Spring Boot 提供了 JSON-B 的自动配置。当 JSON-B API 在 classpath 上时,将自动配置 Jsonb bean。首选的 JSON-B 实现是 Apache Johnzon,它提供了依赖关系管理。

配置属性:

JsonFormat:用于格式化输出JSON数据,可以设置日期格式、时间格式、数字格式等。@JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")private Date date;JsonField:用于控制JSON字段的名称、顺序和类型转换等。@JsonField(name = "age_str")private String age;@JsonField(order = 2)private String name;@JsonField(type = JsonFieldType.Integer)private String ageStr;JsonInclude:用于控制哪些属性应该包含在序列化中。@JsonInclude(Include.NON_NULL)private Map<String, Object> include;

在这里插入图片描述

  如果喜欢的话,欢迎 🤞关注 👍点赞 💬评论 🤝收藏  🙌一起讨论  你的支持就是我✍️创作的动力!  💞💞💞

参考资料
Spring Boot json官方文档

来源地址:https://blog.csdn.net/wodejiaAA/article/details/131917137

--结束END--

本文标题: 【Spring Boot丨(11 )】json的集成

本文链接: https://www.lsjlt.com/news/375137.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • 【Spring Boot丨(11 )】json的集成
    集成JSON 概述JacksonGsonJSON-B 主页传送门:📀 传送 概述 Spring boot 提供了三种json库的集成: GsonJacksonJSON-B 上述三种库提供了将Jav...
    99+
    2023-08-19
    spring boot json java 后端
  • spring boot集成sitemesh
    Sitemesh简介Sitemesh是由一个基于Web页面布局、装饰及与现存Web应用整合的框架,是一个装饰器。它能帮助我们在由大量页面工程的项目中创建一致的页面布局和外观,如一致的导航条、一致的banner、一致的版权等。SiteMesh...
    99+
    2017-06-25
    java教程 spring boot
  • spring boot集成redisson的方法
    本文小编为大家详细介绍“spring boot集成redisson的方法”,内容详细,步骤清晰,细节处理妥当,希望这篇“spring boot集成redisson的方法”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入...
    99+
    2023-06-29
  • 使用 Spring Boot 集成 Nacos
    使用 Spring Boot 集成 Nacos 在本篇博客中,我们将介绍如何使用 Spring Boot 框架来集成 Nacos,实现服务的注册与发现。Nacos 是一个开源的动态服务发现、配置和服务...
    99+
    2023-09-21
    spring boot java spring cloud
  • spring boot如何集成redisson
    这篇文章主要介绍了spring boot如何集成redisson的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇spring boot如何集成redisson文章都会有所收获,下面我们一起来看...
    99+
    2023-07-04
  • Spring boot 集成 MQTT详情
    目录一、简介二、主要特性三、集成步骤1.引入相关jar包2.核心配置类3.网关配置4.编写测试类5.yml配置信息一、简介 MQTT(Message Queuing Telemetr...
    99+
    2022-11-13
  • Spring boot怎么集成MQTT
    这篇“Spring boot怎么集成MQTT”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“Spring ...
    99+
    2023-06-30
  • 详解spring boot集成RabbitMQ
    RabbitMQ作为AMQP的代表性产品,在项目中大量使用。结合现在主流的spring boot,极大简化了开发过程中所涉及到的消息通信问题。首先正确的安装RabbitMQ及运行正常。RabbitMQ需啊erlang环境,所以首先安装对应版...
    99+
    2023-05-31
    spring boot bit
  • spring boot集成测试的方法
    这篇文章主要介绍“spring boot集成测试的方法”,在日常操作中,相信很多人在spring boot集成测试的方法问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”spri...
    99+
    2022-10-19
  • Spring Boot中怎么集成Redis
    本篇文章为大家展示了Spring Boot中怎么集成Redis,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。添加依赖使用像 Redis 这类的 NoSQL 数据库就必须要依赖 spring-data...
    99+
    2023-06-16
  • spring boot集成p6spy的最佳实践
    目录前言p6spy-spring-boot-starter快速集成第一步:导入依赖第二步:配置application.properties配置智能提示兼容原生所有配置项 前言 P6S...
    99+
    2022-11-13
  • Spring Boot 集成 Kafkad的实现示例
    目录前言 为什么使用kafka?业务场景基本架构 常用术语 代码演示 外部依赖:配置文件:发送消息:消费消息:演示工程代码 Spring Boot 作为主流微服务框架,拥有成熟的社区...
    99+
    2022-11-12
  • Spring Boot 集成PageHelper的使用方法
    目录前言:一、基本集成引入jar包Yml配置文件中添加相关配置封装相关分页方法示例代码前段传入参数执行结果二、分页中的排序字段如何防止SQL注入问题三、复杂的SQL分页语句四、分页失...
    99+
    2022-11-13
  • Spring Boot 集成 Kafkad的实现方法
    本篇内容介绍了“Spring Boot 集成 Kafkad的实现方法”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!Spring Boot 作...
    99+
    2023-06-14
  • spring boot集成shiro的示例分析
    小编给大家分享一下spring boot集成shiro的示例分析,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!spring boot提供了一个自带的认证框架,同时...
    99+
    2023-05-30
  • spring boot集成rabbitmq的示例分析
    这篇文章主要为大家展示了“spring boot集成rabbitmq的示例分析”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“spring boot集成rabbitmq的示例分析”这篇文章吧。一、...
    99+
    2023-05-30
    springboot rabbitmq
  • 详解Spring Boot 集成Shiro和CAS
    请大家在看本文之前,先了解如下知识点: Shiro 是什么?怎么用? Cas 是什么?怎么用? 最好有spring基础首先看一下下面这张图: 第一个流程是单纯使用Shiro的流程。 第二个流程是单纯使用Cas的流程。 第三个图是Shiro集...
    99+
    2023-05-31
    springboot shiro cas
  • Spring Boot Redis 集成配置详解
    spring Boot 熟悉后,集成一个外部扩展是一件很容易的事,集成Redis也很简单,看下面步骤配置:一、添加pom依赖 <dependency> <groupId>org.springframe...
    99+
    2023-05-31
    spring boot redis
  • Spring Boot集成Redis实战操作
    最近在使用Spring Boot,发现其功能真是强大,可以快速的集成很多的组件功能,非常方便:今天就来介绍下,如何集成Redis。定义Redis 是一个高性能的key-value数据库。它支持存储的value类型很多,包括string(字符...
    99+
    2023-06-02
  • Spring Boot怎么集成PageHelper使用
    这篇文章主要介绍了Spring Boot怎么集成PageHelper使用的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Spring Boot怎么集成PageHelper使用文章都会有所收获,...
    99+
    2023-06-30
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作