当前位置: 首页 > news >正文

中国网库企业黄页网站推广优化之八大方法

中国网库企业黄页,网站推广优化之八大方法,word用来做网站的,品牌广告设计制作公司网站源码本文为官方文档直译版本。原文链接 Spring Boot JSON中文文档 引言Jackson自定义序列化器和反序列化器混入 GsonJSON-B 引言 Spring Boot 提供与三个 JSON 映射库的集成: GsonJacksonJSON-B Jackson 是首选的默认库。 Jackson Spring-boot-starter-json 提供了…

本文为官方文档直译版本。原文链接

Spring Boot JSON中文文档

    • 引言
    • Jackson
      • 自定义序列化器和反序列化器
      • 混入
    • Gson
    • JSON-B

引言

Spring Boot 提供与三个 JSON 映射库的集成:

  • Gson
  • Jackson
  • JSON-B

Jackson 是首选的默认库。

Jackson

Spring-boot-starter-json 提供了 Jackson 的自动配置功能,Jackson 也是 Spring-boot-starter-json 的一部分。当 Jackson 位于类路径上时,会自动配置 ObjectMapper Bean。为自定义 ObjectMapper 的配置提供了多个配置属性。

自定义序列化器和反序列化器

如果使用 Jackson 来序列化和反序列化 JSON 数据,您可能需要编写自己的 JsonSerializerJsonDeserializer 类。自定义序列化器通常通过模块向 Jackson 注册,但 Spring Boot 提供了另一种 @JsonComponent 注解,使直接注册 Spring Beans 变得更容易。
您可以在 JsonSerializerJsonDeserializerKeyDeserializer 实现中直接使用 @JsonComponent 注解。也可以在包含序列化器/解序列化器作为内部类的类中使用,如下例所示:

import java.io.IOException;import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonDeserializer;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.JsonSerializer;
import com.fasterxml.jackson.databind.SerializerProvider;import org.springframework.boot.jackson.JsonComponent;@JsonComponent
public class MyJsonComponent {public static class Serializer extends JsonSerializer<MyObject> {@Overridepublic void serialize(MyObject value, JsonGenerator jgen, SerializerProvider serializers) throws IOException {jgen.writeStartObject();jgen.writeStringField("name", value.getName());jgen.writeNumberField("age", value.getAge());jgen.writeEndObject();}}public static class Deserializer extends JsonDeserializer<MyObject> {@Overridepublic MyObject deserialize(JsonParser jsonParser, DeserializationContext ctxt) throws IOException {ObjectCodec codec = jsonParser.getCodec();JsonNode tree = codec.readTree(jsonParser);String name = tree.get("name").textValue();int age = tree.get("age").intValue();return new MyObject(name, age);}}}

ApplicationContext 中的所有 @JsonComponent Bean 都会自动向 Jackson 注册。由于 @JsonComponent 是用 @Component 元标注的,因此通常的组件扫描规则也适用。
Spring Boot 还提供了 [JsonObjectSerializer](https://github.com/spring-projects/spring-boot/blob/v3.2.0/spring-boot-project/spring-boot/src/main/java/org/springframework/boot/jackson/JsonObjectSerializer.java) 和 JsonObjectDeserializer 基类,在序列化对象时,它们为标准的 Jackson 版本提供了有用的替代方法。有关详细信息,请参见 Javadoc 中的 JsonObjectSerializerJsonObjectDeserializer
上面的示例可以重写为使用 JsonObjectSerializer/JsonObjectDeserializer 如下:

import java.io.IOException;import com.fasterxml.jackson.core.JsonGenerator;
import com.fasterxml.jackson.core.JsonParser;
import com.fasterxml.jackson.core.ObjectCodec;
import com.fasterxml.jackson.databind.DeserializationContext;
import com.fasterxml.jackson.databind.JsonNode;
import com.fasterxml.jackson.databind.SerializerProvider;import org.springframework.boot.jackson.JsonComponent;
import org.springframework.boot.jackson.JsonObjectDeserializer;
import org.springframework.boot.jackson.JsonObjectSerializer;@JsonComponent
public class MyJsonComponent {public static class Serializer extends JsonObjectSerializer<MyObject> {@Overrideprotected void serializeObject(MyObject value, JsonGenerator jgen, SerializerProvider provider)throws IOException {jgen.writeStringField("name", value.getName());jgen.writeNumberField("age", value.getAge());}}public static class Deserializer extends JsonObjectDeserializer<MyObject> {@Overrideprotected MyObject deserializeObject(JsonParser jsonParser, DeserializationContext context, ObjectCodec codec,JsonNode tree) throws IOException {String name = nullSafeValue(tree.get("name"), String.class);int age = nullSafeValue(tree.get("age"), Integer.class);return new MyObject(name, age);}}}

混入

Jackson 支持混入注解,可用于将附加注解混合到目标类已声明的注解中。Spring Boot 的 Jackson 自动配置会扫描应用程序的包,查找注释为 @JsonMixin 的类,并将它们注册到自动配置的 ObjectMapper 中。注册由 Spring Boot 的 JsonMixinModule 执行。

Gson

为 Gson 提供了自动配置功能。当 Gson 位于类路径上时,Gson Bean 会自动配置。为自定义配置提供了多个 spring.gson.* 配置属性。要进行更多控制,可以使用一个或多个 GsonBuilderCustomizer Bean。

JSON-B

提供 JSON-B 的自动配置。当 JSON-B API 和实现位于类路径上时,Jsonb Bean 将自动配置。首选的 JSON-B 实现是 Eclipse Yasson,它提供了依赖关系管理。

http://www.dt0577.cn/news/44070.html

相关文章:

  • 装修公司报价如何计算网站首页排名seo搜索优化
  • 武汉h5建站模板媒体代发布
  • 免费建站好不好谷歌搜索引擎官网
  • 英文服装商城网站建设广州网站到首页排名
  • 个人做网站设计百度推广运营
  • 为什么网站建设需要每年续费武汉百度推广公司
  • 济南建网站送400电话白帽seo公司
  • 有什么网站可以做一起作业百度搜索高级搜索
  • 有哪些做问卷调查给钱的网站哈尔滨最新今日头条新闻
  • 建设通相似网站自动app优化最新版
  • 做不锈钢网站网络广告创意
  • 做业务在那几个网站上找客户端怎么做推广比较成功
  • 深圳罗湖区网站建设公司网站推广要点
  • 网站嵌套代码如何进行关键词优化工作
  • 微博优惠券网站怎么做衡阳百度推广公司
  • b2b电子商务平台发展趋势广告优化
  • 承德网站建设价格seo排名软件有用吗
  • 鄂州免费设计网站建设新品牌推广策划方案
  • 无备案网站可以做百度推广专业的郑州网站推广
  • 企业网站建设怎么选择空间广东最新消息
  • 电脑在哪网站接做扇子单会计培训机构排名
  • dart语言做的网站谷歌浏览器官网手机版
  • 医疗网站建设哪个好用关键词搜索工具app
  • 公司域名更改 网站怎么做提示google ads
  • 网站登录 退出怎么做属于网络营销的特点是
  • 微网站模板制作长春网站建设平台
  • 平凉市建设厅官方网站网络营销推广方式有哪些
  • wordpress日志在哪个文件排名优化公司哪家靠谱
  • 微信自制小程序怎么做的seo基础入门
  • oa做软件还是网站营销型网站建设题库