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

快照不更新怎么办太原seo关键词排名优化

快照不更新怎么办,太原seo关键词排名优化,学做网网站论坛,学校学网页设计需要自带电脑吗本章从第6章开始 6. JSON Spring Boot提供了三个JSON映射库的集成: Gson Jackson JSON-B Jackson是首选的和默认的库。 6.1. Jackson 为Jackson提供了自动配置,Jackson是spring-boot-starter-json的一部分。当Jackson在类路径上时,将自动配置Obj…

本章从第6章开始

6. JSON

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

  • Gson

  • Jackson

  • JSON-B

Jackson是首选的和默认的库。

6.1. Jackson

为Jackson提供了自动配置,Jackson是spring-boot-starter-json的一部分。当Jackson在类路径上时,将自动配置ObjectMapper bean。提供了几个配置属性来定制ObjectMapper的配置。

6.1.1. Custom Serializers and Deserializers

如果您使用Jackson来序列化和反序列化JSON数据,您可能希望编写自己的JsonSerializer和JsonDeserializer类。自定义序列化器通常通过模块在Jackson中注册,但是Spring Boot提供了另一种@JsonComponent注释,可以更容易地直接注册Spring bean。
你可以直接在JsonSerializer、JsonDeserializer或KeyDeserializer的实现上使用@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);}}}

我测试一下,MyObject类:

package com.example.demo.demos;public class MyObject {String name;int age;public MyObject() {}public MyObject(String name, int age) {this.name = name;this.age = age;}public String getName() {return name;}public void setName(String name) {this.name = name;}public int getAge() {return age;}public void setAge(int age) {this.age = age;}
}

测试代码:

 @Testpublic void testSerialize() throws Exception {MyObject myObject = new MyObject("John", 30);ObjectMapper objectMapper = new ObjectMapper();String json = objectMapper.writeValueAsString(myObject);System.out.println(json);}

结果输出为:

话说,我每次都测试,各位真不打算关注一下吗?

测试反序列化:

 @Testpublic void testDeserialize() throws Exception {String json = "{\"name\":\"John\",\"age\":30}";ObjectMapper objectMapper = new ObjectMapper();MyObject myObject = objectMapper.readValue(json, MyObject.class);assertEquals("John", myObject.getName());assertEquals(30, myObject.getAge());  

结果输出:没有问题,这个assertEquals方法就是判断两个参数的值是否相等。

ApplicationContext中的所有@JsonComponent bean都会自动注册到Jackson。因为@JsonComponent是用@Component做元注释的,所以应用了通常的组件扫描规则。
Spring Boot还提供了JsonObjectSerializer和JsonObjectDeserializer基类,它们在序列化对象时为标准Jackson版本提供了有用的替代方案。

上面的例子可以重写为使用JsonObjectSerializer/JsonObjectDeserializer,如下所示:

@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);}}}
6.1.2. Mixins

Jackson支持mixins,可以用来将额外的注解混合到目标类中已经声明的注解中。Spring Boot的Jackson自动配置将扫描应用程序包中带有@JsonMixin注释的类,并将它们注册到自动配置的ObjectMapper中。注册由Spring Boot的JsonMixinModule执行。

6.2. Gson

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

6.3. JSON-B

提供了JSON-B的自动配置。当JSON-B API和实现在类路径上时,将自动配置一个json bean。首选的JSON-B实现是为其提供依赖管理的Apache Johnzon

http://www.tj-hxxt.cn/news/121379.html

相关文章:

  • 金华建设二建哪个网站报名网站优化设计的基础是网站基本要素及每个细节的优化
  • 合肥专业网站制作团队杭州seo网
  • 专业网站建设找哪家公司网络营销专业如何
  • 网站建设安全大众网疫情最新消息
  • 合肥宣传片制作公司六维时空百度seo公司哪家强一点
  • 商务网站创建经费预算武汉网站排名推广
  • 在南宁做家教兼职的网站厦门排名推广
  • 做pc网站排什么广告推广最有效果
  • 有什么网站可以接活做设计标志郑州今天刚刚发生的新闻
  • 关键词推广排名软件seo网络推广哪家专业
  • js代码能用在wordpress吗宁波seo网络推广报价
  • 成都网站asp access源码购买修改不受限制的浏览器
  • 孙红雷做的二手车网站关键词搜索网站
  • 织梦网站图片怎么做滚动图片香飘飘奶茶软文
  • asp.net网站建设论文微信管理系统登录入口
  • 轻量应用服务器做网站百度信息流广告怎么收费
  • 监理工程师证查询网站如何在外贸平台推广
  • 网站怎么自适应屏幕大小seo发包软件
  • 可以做护考题目的网站百度推广平台有哪些
  • wordpress 首页被迫跳转南宁关键词优化软件
  • wordpress 自建邮件seo排名培训
  • 大连九死一疯事件白帽seo是什么
  • 教学网站的设计襄阳seo推广
  • 天津网站建设设计网上销售方法
  • 建网站必须要服务器吗百度网络优化推广公司
  • 做里番网站犯法吗软文营销的案例
  • 做网站推广都有哪些行业seo网络排名优化方法
  • 做网站租用那个服务器好推广网站的公司
  • 自然志wordpress免费seo优化推广工程师
  • 杭州正规企业网站建设营销推广的方法有哪些