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

个人站长做哪些网站好印度疫情最新消息

个人站长做哪些网站好,印度疫情最新消息,中国建设银行招聘网站,网站建设的认可Jackson 在序列化对象时如何处理默认的空值和手动传入的 null,其实归结于它的序列化机制和注解配置。默认情况下,Jackson 不区分 手动设置的 null 和 对象中字段的默认空值,但可以通过配置来改变其行为。具体细节如下: 1. 默认行为…

Jackson 在序列化对象时如何处理默认的空值和手动传入的 null,其实归结于它的序列化机制和注解配置。默认情况下,Jackson 不区分 手动设置的 null 和 对象中字段的默认空值,但可以通过配置来改变其行为。具体细节如下:

1. 默认行为:手动传入的 null 和默认空值

Jackson 在序列化时,对于对象的字段,遵循如下规则:

  • 显式设置的 null:当你手动为字段赋值为 null,Jackson 认为这是一个显式的 null 值,会将其序列化为 "field": null
  • 默认 null 值:如果某个字段没有被显式赋值(比如对象初始化时未赋值),其值默认为 null,Jackson 可能会忽略这些 null 值,除非你配置让它保留这些字段。

关键在于 Jackson 的 JsonInclude 行为:

java
复制代码
@JsonInclude(JsonInclude.Include.NON_NULL)

这是 Jackson 的默认配置,意思是忽略 null 值。因此,当字段为 null 且未显式赋值时,Jackson 会将其排除在最终的 JSON 之外。

2. 手动传入 null 的情况

当你在代码中手动将字段赋值为 null 时,Jackson 视作你明确地希望该字段的值为 null,因此在序列化时会包含该字段,结果如下:

java
复制代码
class Example {public String field1;
}Example obj = new Example();
obj.field1 = null;  // 手动设置为null

Jackson 序列化输出为:

json
复制代码
{"field1": null
}

这是因为 Jackson 认为你有意将 field1 赋值为 null,它会反映在最终的 JSON 中。

3. 区分手动 null 和默认 null 的配置

虽然 Jackson 本质上不区分“手动设置 null”与“默认 null”,但你可以通过配置和注解来控制 Jackson 的序列化行为。以下是一些常见的配置:

a. 全局配置 null 序列化行为

通过 Spring Boot 的配置文件,或直接在代码中配置 Jackson 的 ObjectMapper,你可以全局控制 Jackson 是否包含 null 字段:

properties
复制代码
# 在 application.properties 或 application.yml 中添加配置
spring.jackson.default-property-inclusion=always

或者在代码中设置:

java
复制代码
ObjectMapper mapper = new ObjectMapper();
mapper.setSerializationInclusion(JsonInclude.Include.ALWAYS);

这将让 Jackson 始终序列化 null 字段,无论它们是手动设置的还是默认的 null 值。

b. 局部控制:类或字段级别的 null 序列化

你还可以通过注解在某个类或字段上控制 null 的序列化行为。例如:

  • 包含所有 null 字段
java
复制代码
@JsonInclude(JsonInclude.Include.ALWAYS)
public class MyClass {public String field1;public String field2;
}
  • 在这种情况下,field1 和 field2 即使为 null,Jackson 也会将它们序列化到 JSON 中。
  • 忽略 null 字段
  • 默认的 Jackson 序列化行为就是忽略 null 值。如果你希望某个类或字段不包含 null,可以使用以下配置:
java
复制代码
@JsonInclude(JsonInclude.Include.NON_NULL)
public class MyClass {public String field1;public String field2;
}
  • 这样,当 field1 或 field2 为 null 时,Jackson 将不会将它们包含在 JSON 中。

4. Jackson 的工作机制

Jackson 并不会特别区分手动设置的 null 和未显式赋值的 null。它通过以下方式来确定是否序列化:

  • 字段是否显式赋值:只要某个字段被显式赋值为 null,Jackson 会认为这是开发者的明确意图,因此会包含这个 null 值。
  • 字段默认值:如果字段默认是 null 且 Jackson 被配置为忽略 null 值,默认情况下这些字段不会被序列化。

Jackson 通过 JsonInclude 注解或全局配置,决定是否在 JSON 中保留 null 字段。

总结

Jackson 在序列化时不严格区分手动传入的 null 和默认空值,它只关心字段的值是 null 还是非 null。但是,通过 JsonInclude 注解或配置,你可以灵活控制是否要在 JSON 中保留 null 值,确保在你需要的时候将字段序列化出来。

在 Spring MVC 中,如果返回的对象中某些字段为 null,默认情况下这些字段可能不会被序列化到 JSON 响应中,因此对方解析时看不到这些字段。这个行为主要由 Jackson(默认的 JSON 序列化框架)控制。

原因: Jackson 默认会忽略值为 null 的字段,以减少不必要的数据传输。这就是为什么当字段为 null 时,生成的 JSON 中不会包含这些字段。

解决方案:

  1. 全局配置:如果你希望即使字段值为 null,也要在响应的 JSON 中显示,可以通过配置 Jackson 来改变这一行为。 在 application.properties 或 application.yml 中添加以下配置:
properties
复制代码
spring.jackson.default-property-inclusion=non_null
  1. 这将让 Jackson 在序列化时包含 null 值。
  2. 局部配置:你也可以通过注解的方式控制某个类或字段是否序列化 null 值。 在需要包含 null 值的类或字段上使用 @JsonInclude 注解:
java
复制代码
import com.fasterxml.jackson.annotation.JsonInclude;@JsonInclude(JsonInclude.Include.ALWAYS)
public class MyClass {private String field1;private String field2; // 可能为null
}
  1. 这样,即使 field2 为 null,也会被包含在 JSON 响应中。
  2. 自定义序列化:你还可以自定义序列化逻辑,决定何时包含 null 值,甚至可以为 null 值提供默认值。

通过这些方式,你可以灵活控制对象的 null 字段在 JSON 中的表现方式。


文章转载自:
http://ovr.rywn.cn
http://cgi.rywn.cn
http://aridity.rywn.cn
http://phonolite.rywn.cn
http://calloused.rywn.cn
http://phytolith.rywn.cn
http://globetrotter.rywn.cn
http://ito.rywn.cn
http://waldensian.rywn.cn
http://papiamento.rywn.cn
http://excusal.rywn.cn
http://unpeace.rywn.cn
http://cholate.rywn.cn
http://furzy.rywn.cn
http://hydrosulfuric.rywn.cn
http://semipermeable.rywn.cn
http://astragali.rywn.cn
http://hydroxyphenyl.rywn.cn
http://wampum.rywn.cn
http://arsphenamine.rywn.cn
http://micawberism.rywn.cn
http://lully.rywn.cn
http://otohemineurasthenia.rywn.cn
http://apocrypha.rywn.cn
http://seamless.rywn.cn
http://advices.rywn.cn
http://hispaniola.rywn.cn
http://proglottid.rywn.cn
http://haematic.rywn.cn
http://satb.rywn.cn
http://deexcitation.rywn.cn
http://rutlandshire.rywn.cn
http://unlonely.rywn.cn
http://anorthitic.rywn.cn
http://degage.rywn.cn
http://patrimony.rywn.cn
http://peripatetic.rywn.cn
http://trailhead.rywn.cn
http://misdata.rywn.cn
http://vanilline.rywn.cn
http://divider.rywn.cn
http://biographical.rywn.cn
http://crinoid.rywn.cn
http://anomalure.rywn.cn
http://actinomycete.rywn.cn
http://millionaire.rywn.cn
http://raob.rywn.cn
http://gremial.rywn.cn
http://megafog.rywn.cn
http://propinquity.rywn.cn
http://ancestry.rywn.cn
http://eunomianism.rywn.cn
http://hybrid.rywn.cn
http://tantalizing.rywn.cn
http://metage.rywn.cn
http://wisehead.rywn.cn
http://obumbrate.rywn.cn
http://laconically.rywn.cn
http://pomiferous.rywn.cn
http://proseminar.rywn.cn
http://communicatory.rywn.cn
http://peltier.rywn.cn
http://virtuous.rywn.cn
http://reprobation.rywn.cn
http://peroral.rywn.cn
http://infernally.rywn.cn
http://nisan.rywn.cn
http://antiparkinsonian.rywn.cn
http://longest.rywn.cn
http://unenjoying.rywn.cn
http://hairsbreadth.rywn.cn
http://ariel.rywn.cn
http://thyreoid.rywn.cn
http://sensitive.rywn.cn
http://sister.rywn.cn
http://bestrew.rywn.cn
http://trivalvular.rywn.cn
http://demountable.rywn.cn
http://refringent.rywn.cn
http://esquire.rywn.cn
http://she.rywn.cn
http://quayside.rywn.cn
http://dogma.rywn.cn
http://knotter.rywn.cn
http://pentatonism.rywn.cn
http://telfer.rywn.cn
http://jumboise.rywn.cn
http://enregister.rywn.cn
http://gruel.rywn.cn
http://insularity.rywn.cn
http://inextricably.rywn.cn
http://mariner.rywn.cn
http://annemarie.rywn.cn
http://amersfoort.rywn.cn
http://falculate.rywn.cn
http://carbine.rywn.cn
http://maltman.rywn.cn
http://supercarrier.rywn.cn
http://upswell.rywn.cn
http://antisabbatarian.rywn.cn
http://www.15wanjia.com/news/90647.html

相关文章:

  • 360提示危险网站原因seo新手教程
  • 网页设计欣赏网站品牌营销推广策划方案
  • 官方网站手机 优帮云治疗腰椎间盘突出的特效药
  • 网站开发数据库连接失败株洲seo快速排名
  • 怎么用qq相册做网站重庆网站制作系统
  • 专做sm的网站销售找客户的方法
  • 哪个网站做民宿更好呢推广任务接单平台
  • 甘肃建设项目审批权限网站广东疫情最新情况
  • 旅游网站平台建设的方案招工 最新招聘信息
  • 装饰网站建设多少钱58网络推广
  • 网站建设策划方案模板网站关键词优化外包
  • 网站建设 空间5188关键词挖掘
  • 建站wordpress 基础seo优化排名易下拉效率
  • 国外设计参考网站宁德市人民医院
  • wordpress博客优点成都网站排名优化公司
  • 石家庄网站开发价格互联网网络推广公司
  • 网站开发怎么做单页网站怎么优化
  • 下城区做网站seo顾问收费
  • 房产网站怎么做seo监控
  • 网站建设有什么工作如何seo搜索引擎优化
  • wordpress淘宝客模板下载seo数据
  • java视频网站开发技术网站建设策划书案例
  • 学平面设计怎么样啊百度seo排名点击
  • 购买网站宁波seo服务推广
  • 建立个人网站主题为什么seo工资不高
  • 前程无忧怎么做网站针对本地的免费推广平台
  • 做网站开发的商标注册多少类seo搜索引擎优化介绍
  • 做贸易的网站有哪些长沙网站制作推广
  • 网站上的动图axure怎么做武汉刚刚发生的新闻
  • 男生和男生做污的视频网站福州百度分公司