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

seo网站培训网页设计后怎么上传到网站

seo网站培训,网页设计后怎么上传到网站,国家免费职业技能培训,网站开发技术的简历嗨#xff0c;亲爱的同学们#xff01;欢迎来到这篇关于 Jackson JSON 解析器中 Java 对象转 JSON 注解的详细解析指南。JSON#xff08;JavaScript Object Notation#xff09;是一种常用于数据交换的轻量级数据格式#xff0c;而 Jackson 作为一款优秀的 JSON 解析库亲爱的同学们欢迎来到这篇关于 Jackson JSON 解析器中 Java 对象转 JSON 注解的详细解析指南。JSONJavaScript Object Notation是一种常用于数据交换的轻量级数据格式而 Jackson 作为一款优秀的 JSON 解析库通过注解提供了便捷而强大的方式让我们能够更自由地掌控 Java 对象与 JSON 之间的转换。在这篇博客中我将带你一探 Jackson 注解的奇妙世界通过示例代码揭秘 Java 对象转 JSON 注解的魔法 什么是 Jackson 注解 在开始之前让我们先简要了解一下 Jackson 注解是什么。 Jackson 注解是一组用于配置 Java 对象序列化和反序列化过程的注解。通过在 Java 类或字段上添加这些注解我们可以指导 Jackson 如何处理 JSON 转换。这为我们提供了极大的灵活性让我们能够通过注解方式定制化 JSON 转换过程满足不同的需求。 基本注解JsonProperty 首先让我们介绍最基本的注解之一JsonProperty。这个注解用于指定 JSON 字符串中的字段名与 Java 对象中的字段名之间的映射关系。 import com.fasterxml.jackson.annotation.JsonProperty; import com.fasterxml.jackson.databind.ObjectMapper;public class JsonPropertyExample {public static void main(String[] args) throws Exception {// 创建一个 ObjectMapper 对象ObjectMapper objectMapper new ObjectMapper();// 创建一个包含 JsonProperty 注解的对象JsonPropertyObject jsonPropertyObject new JsonPropertyObject(Alice, 25);// 将对象序列化为 JSON 字符串String jsonString objectMapper.writeValueAsString(jsonPropertyObject);// 输出结果System.out.println(jsonString);} }在这个例子中JsonPropertyObject 类的字段 name 被注解为 JsonProperty(fullName)这意味着在序列化为 JSON 字符串时字段 name 将以 fullName 作为键。输出结果应该是类似于 {fullName:Alice,age:25} 的字符串。 定制化日期格式JsonFormat 在处理日期类型时我们常常需要定制化日期的格式。这时JsonFormat 就派上用场了。 import com.fasterxml.jackson.annotation.JsonFormat; import com.fasterxml.jackson.databind.ObjectMapper;import java.util.Date;public class JsonFormatExample {public static void main(String[] args) throws Exception {// 创建一个 ObjectMapper 对象ObjectMapper objectMapper new ObjectMapper();// 创建包含 JsonFormat 注解的对象JsonFormatObject jsonFormatObject new JsonFormatObject(new Date());// 将对象序列化为 JSON 字符串String jsonString objectMapper.writeValueAsString(jsonFormatObject);// 输出结果System.out.println(jsonString);} }在这个例子中JsonFormatObject 类的字段 birthDate 被注解为 JsonFormat(shape JsonFormat.Shape.STRING, pattern yyyy-MM-dd)这表示在序列化为 JSON 字符串时birthDate 将以指定的日期格式呈现。输出结果应该是类似于 {birthDate:2023-01-01} 的字符串。 忽略字段JsonIgnore 有时候我们希望在序列化或反序列化过程中忽略某些字段这时可以使用 JsonIgnore 注解。 import com.fasterxml.jackson.annotation.JsonIgnore; import com.fasterxml.jackson.databind.ObjectMapper;public class JsonIgnoreExample {public static void main(String[] args) throws Exception {// 创建一个 ObjectMapper 对象ObjectMapper objectMapper new ObjectMapper();// 创建包含 JsonIgnore 注解的对象IgnoreFieldObject ignoreFieldObject new IgnoreFieldObject(Sensitive Data, Normal Data);// 将对象序列化为 JSON 字符串String jsonString objectMapper.writeValueAsString(ignoreFieldObject);// 输出结果System.out.println(jsonString);} }在这个例子中IgnoreFieldObject 类的字段 sensitiveData 被注解为 JsonIgnore这表示在序列化为 JSON 字符串时sensitiveData 字段将被忽略。输出结果应该是类似于 {normalData:Normal Data} 的字符串。 支持枚举JsonEnumDefaultValue 在处理枚举类型时我们可能会遇到枚举值新增但尚未在代码中处理的情况。这时JsonEnumDefaultValue 注解可以帮助我们处理未知的枚举值。 import com.fasterxml.jackson.annotation.JsonEnumDefaultValue; import com.fasterxml.jackson.databind.ObjectMapper;public class JsonEnumDefaultValueExample {public static void main(String[] args) throws Exception {// 创建一个 ObjectMapper 对象ObjectMapper objectMapper new ObjectMapper();// 创建包含 JsonEnumDefaultValue 注解的对象EnumDefaultValueObject enumDefaultValueObject new EnumDefaultValueObject(EnumWithDefault.UNKNOWN);// 将对象序列化为 JSON 字符串String jsonString objectMapper.writeValueAsString(enumDefaultValueObject);// 输出结果System.out.println(jsonString);} }在这个例子中EnumDefaultValueObject 类的字段 enumValue 被注解为 JsonEnumDefaultValue并且指定了默认值为 EnumWithDefault.UNKNOWN。这意味着在序列化为 JSON 字符串时如果枚举值未知将使用默认值 UNKNOWN。 定制化序列化与反序列化JsonSerialize 与 JsonDeserialize 有时候我们可能需要对字段进行更复杂的序列化或反序列化操作这时可以使用 JsonSerialize 和 JsonDeserialize 注解。 import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.annotation.JsonDeserialize; import com.fasterxml.jackson.databind.annotation.JsonSerialize;public class JsonSerializeDeserializeExample {public static void main(String[] args) throws Exception {// 创建一个 ObjectMapper 对象ObjectMapper objectMapper new ObjectMapper();// 创建包含 JsonSerialize 和 JsonDeserialize 注解的对象SerializeDeserializeObject serializeDeserializeObject new SerializeDeserializeObject(customValue);// 将对象序列化为 JSON 字符串String jsonString objectMapper.writeValueAsString(serializeDeserializeObject);// 输出结果System.out.println(jsonString);// 将 JSON 字符串反序列化为对象SerializeDeserializeObject deserializedObject objectMapper.readValue(jsonString, SerializeDeserializeObject.class);// 输出反序列化结果System.out.println(deserializedObject.getCustomValue());} }在这个例子中SerializeDeserializeObject 类的字段 customValue 被注解为 JsonSerialize(using CustomSerializer.class) 和 JsonDeserialize(using CustomDeserializer.class)。这意味着在序列化时将使用自定义的序列化器 CustomSerializer而在反序列化时将使用自定义的反序列化器 CustomDeserializer。 嵌套对象处理JsonManagedReference 与 JsonBackReference 当对象之间存在双向关系时为了防止无限递归的序列化问题我们可以使用 JsonManagedReference 和 JsonBackReference 注解。 import com.fasterxml.jackson.databind.ObjectMapper; import com.fasterxml.jackson.databind.annotation.JsonBackReference; import com.fasterxml.jackson.databind.annotation.JsonManagedReference;public class JsonReferenceExample {public static void main(String[] args) throws Exception {// 创建一个 ObjectMapper 对象ObjectMapper objectMapper new ObjectMapper();// 创建包含 JsonManagedReference 和 JsonBackReference 注解的对象ReferenceParent parent new ReferenceParent(Parent);ReferenceChild child new ReferenceChild(Child, parent);// 设置对象间的关系parent.setChild(child);// 将对象序列化为 JSON 字符串String jsonString objectMapper.writeValueAsString(parent);// 输出结果System.out.println(jsonString);} }在这个例子中ReferenceParent 类的字段 child 被注解为 JsonManagedReference而 ReferenceChild 类的字段 parent 被注解为 JsonBackReference。这样序列化时将优先处理 JsonManagedReference而忽略 JsonBackReference从而避免了无限递归的问题。 小结 通过本文的介绍我们深入探讨了 Jackson JSON 解析器中 Java 对象转 JSON 注解的强大功能。从基本的 JsonProperty 到复杂的 JsonSerialize 与 JsonDeserialize再到处理对象间关系的 JsonManagedReference 与 JsonBackReferenceJackson 提供了丰富的注解来满足各种需求。希望本文能够帮助你更好地理解和使用 Jackson 注解让 JSON 转换变得更加得心应手 作者信息 作者 繁依Fanyi CSDN https://techfanyi.blog.csdn.net 掘金https://juejin.cn/user/4154386571867191
http://www.hyszgw.com/news/88290.html

相关文章:

  • 多个网站 备案免费网站建设绑定域名
  • 网站制作 合同自媒体短视频制作教程
  • 做网站要用到的技术网站点击率高
  • 太原再次发出通告西安优化网站公司
  • 网站标题怎么隔开珠海网站定制开发
  • 专做婚宴用酒是网站公司注册后每年的费用
  • 迈创网站建设装饰工程投标书
  • 建设银行的网站你打不开代做原创毕业设计网站
  • 海南省住房和城乡建设厅网站网上版重庆给商家企业做网站
  • 制作网站注册登录模块的思维导图美宜佳企业网络营销推广方式
  • 检察机关门户网站建设工作自查报告网站全是乱码
  • 怎么查看网站ftp地址哪个网站有ae免费模板
  • 网站建设接单网站规划与网页设计第四版电子书
  • 医疗网站整站优化思路厦门网站设计公司找哪家厦门电商系统
  • 外网有趣的网站百度指数关键词搜索趋势
  • 做相同性质的网站算侵权吗杭州网站排名
  • 安居网站建设网站开发 h5 h4
  • 网站优化哪个公司好怎么把网站建设推广出去
  • 做刷赞网站能赚钱吗php网站开发能挣多钱
  • 泉州手机模板建站郑州网站建设价位
  • 网站系统制作教程ui设计师面试必问问题
  • 电商网站设计周志seo网站诊断顾问
  • 黑龙江省建设工程交易中心网站有没有做淘宝客网站的
  • 曲沃网站建设沈阳建设工程信息网浑南新区
  • 做网站公司佛山建设一个网站用什么软件
  • 厦门网站制作阳哥提供企业门户网站建设
  • 建设厅网站查询电工证件dz论坛seo
  • 漳州网站建设厂家深圳建网站好的公司
  • 网站一直建设中最新手机网址
  • 做某个网站接口违法便利的菏泽网站建设