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

金融网站搭建青海中小企业网站建设

金融网站搭建,青海中小企业网站建设,网站建设最高管理权限,不需要付费的网站参考资料 Jackson使い方メモ 目录 一. JsonIgnore二. JsonIgnoreProperties三. JsonProperty3.1 作用于entity属性上#xff0c;指定json对象属性名3.2 作用于entity方法上#xff0c;指定json对象属性名 四. JsonFormat4.1 日期格式化4.2 数字格式化4.3 枚举类返回code 五.…参考资料 Jackson使い方メモ 目录 一. JsonIgnore二. JsonIgnoreProperties三. JsonProperty3.1 作用于entity属性上指定json对象属性名3.2 作用于entity方法上指定json对象属性名 四. JsonFormat4.1 日期格式化4.2 数字格式化4.3 枚举类返回code 五. JsonCreator注解 枚举类接收前台提交数据5.1 枚举类和接收数据entity的定义5.2 后台枚举类接收前台的数据5.3 后台枚举类型的数据返回给前台 六. JsonAlias七. JsonInclude 一. JsonIgnore 在序列化和反序列化 JSON 数据时忽略指定的属性。 import com.fasterxml.jackson.annotation.*; import lombok.Data;Data public class Test34Entity {JsonIgnoreprivate String id;private String name;private String content; }返回数据给前台 PostMapping(/get_data) public ResponseEntityTest34Entity getData(RequestBody Test34Entity data) {Test34Entity entity new Test34Entity();// 在此处设定了id属性entity.setId(1355930);entity.setName(贾飞天);entity.setContent(内容);return ResponseEntity.ok(entity); }⏹由于给id属性添加了JsonIgnore注解所以id并没有返回给前台。 二. JsonIgnoreProperties 同时指定多个需要忽略的属性 import com.fasterxml.jackson.annotation.*; import lombok.Data;Data JsonIgnoreProperties({id, content}) public class Test34Entity {private String id;private String name;private String content; }⏹可以看到因为id和content属性被忽略所以只有name属性被返回到了前台。 三. JsonProperty 3.1 作用于entity属性上指定json对象属性名 ⏹由下图可知当前台json的属性值和后台实体类属性值不匹配时可使用JsonProperty指定 3.2 作用于entity方法上指定json对象属性名 ⏹部分属性值后台需要根据既存的属性经过业务判断处理后返回前台且该属性值最终只有前台需要后台的业务逻辑中并不需要此时可以将JsonProperty注解作用于方法上用来指定该属性 import com.fasterxml.jackson.annotation.JsonProperty; import lombok.Data;import java.util.Optional;Data public class Test34Entity {private String firstName;private String lastName;// 后台不需要该属性,只有前台才需要此属性// private String fullName;// 指定该方法的返回值作为json的属性,属性名为fullnameJsonProperty(fullName)private String getFullName() {return Optional.ofNullable(this.firstName).orElse() Optional.ofNullable(this.lastName).orElse();} }⏹如下图所示在返回给前台的时候fullName也被返回。 四. JsonFormat 4.1 日期格式化 在Date和YearMonth属性上指定日期字符串的格式 import com.fasterxml.jackson.annotation.*; import lombok.Data;import java.time.YearMonth; import java.util.Date;Data public class Test34Entity {JsonFormat(pattern yyyy/MM/dd)private Date birthday;JsonFormat(pattern yyyy/MM)private YearMonth yearMonth; }⏹由下图可知日期字符串转换为java实体类中的日期属性类型 4.2 数字格式化 指定序列化时的数据类型返回前台的数据类型 import com.fasterxml.jackson.annotation.JsonFormat; import lombok.Data;import java.math.BigDecimal;Data public class Test34Entity {// 指定序列化时的数据类型是字符串JsonFormat(shape JsonFormat.Shape.STRING)private BigDecimal num1;JsonFormat(shape JsonFormat.Shape.STRING)private Integer num2;// 未指定序列化时的数据类型private BigDecimal num3;private Integer num4; }⏹可以看到指定了 JsonFormat(shape JsonFormat.Shape.STRING)注解的属性返回前台时的数据类型变为字符串类型。 4.3 枚举类返回code 详情请参考 5.3 后台枚举类型的数据返回给前台 五. JsonCreator注解 枚举类接收前台提交数据 5.1 枚举类和接收数据entity的定义 ⏹定义一个枚举类 Jackson根据JsonCreator注解所作用的枚举类中的方法将前台提交的数据转换为枚举类对象fromName方法只是为了根据枚举类的name获取枚举类对象和枚举类序列化反序列化没有关系 import com.fasterxml.jackson.annotation.JsonCreator; import java.util.Arrays;public enum SexTypes {男性(1),女性(2),保密(3);private String code;SexTypes(String code) {this.code code;}public String getCode() {return code;}/*根据code获取枚举类对象SpringBoot在将前台数据封装的时候,通过JsonCreator注解对应的方法指定前台的性别code转换为对应的枚举类*/ JsonCreatorpublic static SexTypes fromCode(String code) {return Arrays.stream(SexTypes.values()).filter(item - item.code.equals(code)).findAny().orElse(null);}public static SexTypes fromName(String name) {return Arrays.stream(SexTypes.values()).filter(item - item.name().equals(name)).findAny().orElse(null);} }⏹用来接收前台提交到后台数据的entity import com.example.jmw.common.enums.SexTypes; import lombok.Data;Data public class Test34Entity {private String id;// 自定义的枚举类private SexTypes sexTypes; }5.2 后台枚举类接收前台的数据 5.3 后台枚举类型的数据返回给前台 ⏹在不做任何配置的情况下默认返回前台的数据是枚举类的名称 ⏹在枚举类上配置JsonFormat(shape JsonFormat.Shape.OBJECT)返回给前台的是枚举类的code JsonFormat(shape JsonFormat.Shape.OBJECT) public enum SexTypes {男性(1),女性(2),保密(3);// ...以下代码省略...JsonCreatorpublic static SexTypes fromCode(String code) {return Arrays.stream(SexTypes.values()).filter(item - item.code.equals(code)).findAny().orElse(null);} }⏹效果如下所示返回的是枚举类的code 六. JsonAlias 作用于实体类的属性上被标记的属性可以同时接受多个指定的key import com.fasterxml.jackson.annotation.JsonAlias; import lombok.Data;Data public class Test34Entity {// id 和 userId 都将被封装到此处JsonAlias({userId})private String id;JsonAlias({userName})private String name; }⏹效果如下所示前台json中的key是userId后台entity的属性值是id但是通过JsonAlias注解指定了别名userId所以成功接受到数据。 七. JsonInclude JsonInclude.Include.NON_NULL指定返回的数据中仅包含非null的数据 import com.fasterxml.jackson.annotation.JsonInclude; import lombok.Data;Data JsonInclude(JsonInclude.Include.NON_NULL) public class Test34Entity {private String id;private String name;private String content; }⏹由下图可知content属性为null但是因为通过JsonInclude(JsonInclude.Include.NON_NULL)的指定所以值为null的属性压根就没有返回到前台。
http://www.pierceye.com/news/232300/

相关文章:

  • 外国广告公司网站一个wordpress的爱好者
  • 锦溪网站建设怎么查看网站是否被收录
  • 网站建设感悟平面设计在哪里接单
  • 网站建设中html网页软件开发定制外包服务商
  • 山东seo网站推广河南定制网站建设企业
  • 网站建设文献文档单产品网站建设
  • 唐山网站建设自主开发宁波北仑做公司网站
  • 廊坊网页模板建站专业网站建设公司排名
  • 广州本地生活appseo百度百科
  • 成都产品网站建设镜像网站是怎么做的
  • 网站建设需求分析范例中国建设信息网站
  • 提供网站建设工具的品牌如何自己开个网站平台
  • 站长工具seo综合查询怎么去掉百家号查询排名数据查询
  • 网站怎么做商家定位注册网站不用手机短信验证的网站
  • 郑州医疗网站建设线下推广团队
  • 合肥网站推广 公司哪家好阿里云注销网站
  • 手机网站调用分享网站用户体验存在问题
  • 淘宝网官方网站路飞和女帝做h的网站
  • app网站设计制作360网站 备案
  • 网站建设多久能学会内丘网站建设案例
  • 网站设计要素 优帮云卖东西专业网站网上
  • 做古风人物小图的网站或软件东莞附近的网络推手公司
  • 东莞专业的单位网站建设江苏网站建设定制
  • 宁夏建设工程造价站网站东营网站seo外包
  • 推销网站建设今天重大新闻文字
  • 网站上线过程网站开发系统需求说明书
  • it外包行业江门seo网络推广
  • 深圳石岩建网站判断网站模板版本
  • 梅州市住房和城乡建设局网站东营网站
  • 免费手机端网站模板下载工具windows怎么做网站