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

网站里可以增加网址吗佛山找企业的网站

网站里可以增加网址吗,佛山找企业的网站,小学网站建设情况说明,南京seo新浪Jackson是Spring Boot默认的JSON数据处理框架#xff0c;但是其并不依赖于任何的Spring 库。有的小伙伴以为Jackson只能在Spring框架内使用#xff0c;其实不是的#xff0c;没有这种限制。它提供了很多的JSON数据处理方法、注解#xff0c;也包括流式API、树模型、数据绑定… Jackson是Spring Boot默认的JSON数据处理框架但是其并不依赖于任何的Spring 库。有的小伙伴以为Jackson只能在Spring框架内使用其实不是的没有这种限制。它提供了很多的JSON数据处理方法、注解也包括流式API、树模型、数据绑定以及复杂数据类型转换等功能。它虽然简单易用但绝对不是小玩具本节为大家介绍Jackson的基础核心用法更多的内容我会写成一个系列5-10篇文章请您继续关注我。 一、基础准备 在任意项目中引入下面的jar就可以使用jackson进行JSON的数据序列化与反序列化的功能。 dependencygroupIdcom.fasterxml.jackson.core/groupIdartifactIdjackson-databind/artifactIdversion2.9.8/version /dependency写一个PlayerStar的实体类实体类主要体现篮球明星的名字、年龄、业余爱好、朋友、年收入等信息为了尽可能地演示Jackson的序列化与反序列化功能将数组、List、Map都融合到这个类里面。并通过getInstance初始化篮球明星Jordan这个对象。 Data public class PlayerStar {private String name;private Integer age;private String[] hobbies; //业余爱好,数组private ListString friends; // 朋友private MapString, BigDecimal salary; //年收入 Map//初始化一个对象用于测试public static PlayerStar getInstance(){PlayerStar playerStar new PlayerStar();playerStar.setName(乔丹);playerStar.setAge(45);playerStar.setHobbies(new String[]{高尔夫球, 棒球});MapString, BigDecimal salary new HashMapString, BigDecimal() {{put(2000, new BigDecimal(10000000));put(2010, new BigDecimal(62000000));put(2020, new BigDecimal(112400000));}};playerStar.setSalary(salary);playerStar.setFriends(Arrays.asList(kobe, curry, james));return playerStar;}}二、序列化方法 下面代码演示了如何将PlayerStar对象序列化为JSON字符串。 writeValue可以接收File作为参数将JSON序列化结果保存到文件中writeValueAsString将JSON序列化结果以String形式返回writerWithDefaultPrettyPrinter方法可以将JSON序列化结果进行格式化更好的显示结构易于查看Test void testObject2JSON() throws IOException {//获取对象实例PlayerStar player PlayerStar.getInstance();//ObjectMapper作为Jackson的API工具类存在ObjectMapper mapper new ObjectMapper();//将player对象以JSON格式进行序列化并将序列化结果写入文件mapper.writeValue(new File(d:datajacksonplayer.json), player);//将player对象以JSON格式进行序列化为String对象String jsonString mapper.writeValueAsString(player);System.out.println(jsonString);//将player对象以JSON格式进行序列化为String对象(格式美化)String jsonInString2 mapper.writerWithDefaultPrettyPrinter().writeValueAsString(player);System.out.println(jsonInString2); }jsonString的控制台打印输出结果也是d:datajacksonplayer.json文件的内容 {name:乔丹,age:45,hobbies:[高尔夫球,棒球],friends:[kobe,curry,james],salary:{2000:10000000,2010:62000000,2020:112400000}}jsonString2的控制台打印输出格式进行了美化因为使用了writerWithDefaultPrettyPrinter()方法 {name : 乔丹,age : 45,hobbies : [ 高尔夫球, 棒球 ],friends : [ kobe, curry, james ],salary : {2000 : 10000000,2010 : 62000000,2020 : 112400000} }三、反序列化方法 下面代码演示了如何将JSON字符串反序列化为Java对象 Test void testJSON2Object() throws IOException {ObjectMapper mapper new ObjectMapper();//从文件中读取JSON字符串反序列化为java对象PlayerStar player mapper.readValue(new File(d:datajacksonplayer.json), PlayerStar.class);System.out.println(player);//将JSON字符串反序列化为java对象String jsonInString {name:乔丹,age:45,hobbies:[高尔夫球,棒球]};PlayerStar jordan mapper.readValue(jsonInString, PlayerStar.class);System.out.println(jordan);}PlayerStar对象控制台输出结果如下(注意这里的输出不是JSON格式而是java对象的toString()方法值) PlayerStar(name乔丹, age45, hobbies[高尔夫球, 棒球], friends[kobe, curry, james], salary{200010000000, 201062000000, 2020112400000}) PlayerStar(name乔丹, age45, hobbies[高尔夫球, 棒球], friendsnull, salarynull)四、字段重命名JsonProperty 可以使用 JsonProperty来影响序列化和反序列化对象属性的重命名。 Data public class PlayerStar {JsonProperty(playerName)private String name; //将属性name序列化为playerName同时影响反序列化使用上面代码的注解之后JSON序列化的结果name属性变成playerName属性 {playerName:乔丹 ……同时影响反序列化,下面的反序列化代码会报错因为使用了name属性。应该使用playerName才可以。 String jsonInString {name:乔丹,age:45,hobbies:[高尔夫球,棒球]}; PlayerStar jordan mapper.readValue(jsonInString, PlayerStar.class);五、忽略null字段的序列化JsonInclude 当我们不为对象的成员变量赋值的时候默认情况下Jackson的序列化结果是下面的这样的。 {age : 45,hobbies : null,friends : null,salary : null,playerName : 乔丹 }如果我们不希望将null值体现在JSON序列化结果中我们可以使用下面的方法。如果希望在某次序列化的全局范围内忽略null成员变量可以使用下面的API ObjectMapper mapper new ObjectMapper(); mapper.setSerializationInclusion(JsonInclude.Include.NON_NULL); 或者是在类名的上面加上如下注解。该注解将针对类里面的所有成员变量生效只要成员变量为null将不会被包含在序列化结果中。 JsonInclude(JsonInclude.Include.NON_NULL) public class PlayerStar {...... }如果我们想针对PlayerStar类里面某些成员变量单独忽略null可以在成员变量上面加注解。 JsonInclude(JsonInclude.Include.NON_NULL) private String[] hobbies; //业余爱好,数组 JsonInclude(JsonInclude.Include.NON_NULL) private ListString friends; // 朋友 JsonInclude(JsonInclude.Include.NON_NULL) private MapString, BigDecimal salary; //年收入 Map忽略为null的成员变量后,JSON序列化结果是下面这样的 {age : 45,playerName : 乔丹 }六、忽略指定的字段 默认情况下jackson不会将static和transient的成员变量进行序列化与反序列化操作。我们还可以通过 JsonIgnore加在类成员变量上面该成员变量将被排除在序列化和反序列化的过程之外JsonIgnoreProperties加在类声明上面指定该类里面哪些字段被排除在序列化和反序列化的过程之外上面的两种注解选其一即可下面的代码两种注解我都用了功能是重复的 Data JsonIgnoreProperties({hobbies, friends,salary}) public class PlayerStar {JsonProperty(playerName)private String name;private Integer age;JsonIgnoreprivate String[] hobbies; //业余爱好,数组JsonIgnoreprivate ListString friends; // 朋友JsonIgnoreprivate MapString, BigDecimal salary; //年收入 Map......在类或成员变量上面加上注解之后序列化结果如下指定字段被忽略。 {age : 45,playerName : 乔丹 }需要注意的是这两个注解不只是影响序列化为JSON字符串的过程也影响JSON字符串反序列化为java对象的过程。举例如果JSON字符串包含了类中被JsonIgnore的属性值hobbies不会被反序列化赋值给java对象的成员变量hobbies。 欢迎关注我的博客里面有很多精品合集 本文转载注明出处必须带连接不能只转文字字母哥博客。觉得对您有帮助的话帮我点赞、分享您的支持是我不竭的创作动力 。另外笔者最近一段时间输出了如下的精品内容期待您的关注。 《手摸手教你学Spring Boot2.0》《Spring Security-JWT-OAuth2一本通》《实战前后端分离RBAC权限管理系统》《实战SpringCloud微服务从青铜到王者》《VUE深入浅出系列》
http://www.yutouwan.com/news/67790/

相关文章:

  • 网站运营者大连微信网站建设
  • 网络管理中心网站企业网站建设方案书模板
  • 如何制作网站的横幅预约网免费建站流程
  • 中小型网站建设多少钱发布网站建设信息
  • 网站出租目录做菠菜 有什么坏处《传奇世界》官网
  • 汕头做网站费用现在进入东莞需要什么条件
  • 免费网站建设好不好小白怎么做网站
  • 江西做网站找谁天津专业网站建设
  • 博爱网站建设拓者设计吧邀请码免费
  • 学做网站论坛视频下载做led视频好的网站
  • 个人网站备案 淘宝客重庆建设教育培训管理系统网站
  • 微信网站模板大全wordpress下載
  • 谷歌网站推广优化如何制作企业网页
  • 高端的网站建设西安市做网站
  • 免费网站建设魔坊长沙哪家制作网站好
  • 网站做ssl证书有风险淄博电商网站建设
  • 冬青街 做网站网站 建设 网站设计公司
  • 微网站建设方向电子商务网站建设类型
  • 买好了域名 如何做网站企业网页设计策划书
  • 成都 html5网站一个dede管理两个网站
  • 网站建设设计大作业网站怎么建立支付平台
  • 凡科 360免费建站wordpress切换至就编辑器
  • 单位网站建设情况说明书成都网站营销
  • 网站推广方案策划书vitality 中文原创wordpress主题
  • 做行程的网站 哪个最好万网站长
  • 西部数码网站开发管理助手虚拟主机哪家好
  • 郑州网站如何制作温州网站开发风格
  • 江西旺达建设工程有限公司网站电子商务网站建设与管理试题及答案
  • 那个网站的域名便宜如何评价一个网站做的是否好
  • 优秀企业建站中关村在线笔记本电脑排名