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

用eclipse做网站模板市场推广怎么做

用eclipse做网站模板,市场推广怎么做,百度手机网站制作,关于网站建设的可行性报告提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 一个问题:后端实体类isXXX开头的属性,传到前端后自动去掉is解决方法: JsonProperty和JSONField1.简介2.注解的区别2.1 底层框架不…

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档

文章目录

  • 一个问题:后端实体类isXXX开头的属性,传到前端后自动去掉is
    • 解决方法:
  • @JsonProperty和@JSONField
    • 1.简介
    • 2.注解的区别
      • 2.1 底层框架不同
      • 2.2 作用域不同
      • 2.3 优劣对比
  • @JsonProperty
        • 如果使用的是新建的==springboot项目==,默认就是Jackson序列化,直接在属性上使用注解即可。
    • 1.依赖
    • 2.测试json字符串与bean对象相互转换
  • @JSONField
    • 1.依赖
    • 2.测试json字符串与bean对象相互转换
    • 3.format属性
    • 4. serialize属性
    • 5.deserialize属性
    • 6.ordinal属性
    • 7.defaultValue属性
    • 8. type属性


一个问题:后端实体类isXXX开头的属性,传到前端后自动去掉is

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

解决方法:

  1. 将生成的isReceipt()方法名改成getIsReceipt()
  2. 在生成的get方法上面也就是isReceipt上面加上@JsonProperty(value = “isXXX”)注解
 @JsonProperty(value = "isReceipt")public boolean isReceipt() {return isReceipt;}@JsonProperty(value = "isExamine")public boolean isExamine() {return isExamine;}

在这里插入图片描述

@JsonProperty和@JSONField

1.简介

  • @JsonProperty和@JSONField注解都是为了解决obj转json字符串的时候,将java bean的属性名替换成目标属性名。常见于调用第三方接口的时候属性名不一致的场景。
  • 两个注解的作用是相同的,只是来源不同,使用方式不同。下面将详解其异同!

2.注解的区别

2.1 底层框架不同

  • @JsonProperty 是Jackson实现的
<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>版本号</version>
</dependency>
  • @JSONField 是fastjson实现的
         <dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>版本号</version></dependency>

2.2 作用域不同

@JSONproperty 注解用于属性上面

  • 如把trueName属性序列化为name,可以在属性名上面增加@JsonProperty(value=“name”)。

@JSONField 注解可以用于get、set 以及 属性上面

  • 如把trueName属性序列化为name,可以在get/set/属性名上面增加@JSONField(value=“name”)。

2.3 优劣对比

  1. @JSONField注解的使用方式更加简单,注解默认的值与属性名相同,而@JsonProperty需要手动指定属性名

  2. @JSONField注解支持更多的属性映射选项,例如序列化时的日期格式,空值的处理方式等

  3. @JSONField注解的性能较快,因为fastjson本身就是一款高性能的JSON处理库

  4. 在使用Jackson框架时,只能使用@JsonProperty注解,无法使用@JSONField注解

@JsonProperty

如果使用的是新建的springboot项目,默认就是Jackson序列化,直接在属性上使用注解即可。

1.依赖

<dependency><groupId>com.fasterxml.jackson.core</groupId><artifactId>jackson-databind</artifactId><version>版本号</version>
</dependency>
  • @JsonProperty注解来源于jackson包,搭配ObjectMapper().writeValueAsString(实体类)方法使用,将实体类转换成json字符串。
  • 搭配ObjectMapper().readValue(字符串)方法使用,将json字符串转换成实体类。

2.测试json字符串与bean对象相互转换

实体类:User.java

import com.fasterxml.jackson.annotation.JsonProperty;@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {@JsonProperty("JsonPropertyName")private String name;private String sex;private Integer age;
}

测试方法:

@Test
public void testJsonProperty() throws IOException{//bean ---> jsonUser user=new User("zhangsan","man",22);System.out.println(new ObjectMapper().writeValueAsString(user));//json ---> beanString str="{\"sex\":\"man\",\"age\":22,\"JsonPropertyName\":\"zhangsan\"}";System.out.println(new ObjectMapper().readValue(str, User.class).toString());
}

测试结果:

{"sex":"man","age":22,"JsonPropertyName":"zhangsan"}
User [name=zhangsan, sex=man, age=22]
  • 可见,bean转成json字符串后,@JsonProperty注解的bean属性名已经替换成了指定属性名:JsonPropertyName;

  • json字符串转成bean后,@JsonProperty注解指定的属性名已经替换成了bean属性名:name;

@JSONField

1.依赖

<dependency><groupId>com.alibaba</groupId><artifactId>fastjson</artifactId><version>版本号</version>
</dependency>
  • @JSONField是位于fastjson包里面,搭配JSON.toJSONString(实体类)方法使用,将实体类转换成json字符串。
  • 搭配JSON.parseObject(字符串,实体类.class)方法使用,将json字符串转换成实体类。

2.测试json字符串与bean对象相互转换

实体类:User.java

import com.alibaba.fastjson.annotation.JSONField;@Data
@NoArgsConstructor
@AllArgsConstructor
public class User {@JSONField(name="JSONFieldName")private String name;private String sex;private Integer age;
}

测试方法:

@Test
public void testSONField(){//bean ---> jsonUser user=new User("zhangsan","man",22);System.out.println(JSON.toJSONString(user));//json ---> beanString str="{\"JSONFieldName\":\"zhangsan\",\"age\":22,\"sex\":\"man\"}";System.out.println(JSON.parseObject(str, User.class).toString());	
}

测试结果:

{"JSONFieldName":"zhangsan","age":22,"sex":"man"}
User [name=zhangsan, sex=man, age=22]
  1. 可见,bean转成json字符串后,@JSONField注解的bean属性名已经替换成了指定属性名:JSONFieldName;
  2. json字符串转成bean后,@JSONField注解指定的属性名已经替换成了bean属性名:name;
  3. 测试结果同@JsonProperty。

3.format属性

通过format属性可以指定日期类型属性的格式,以及将数字类型转为字符串类型的格式

public class User {private String name;private int age;@JSONField(format = "yyyy-MM-dd")private Date birthday;@JSONField(format = "#,###.00")private double salary;
}
  • 在上面的例子中,使用@JSONField注解指定了birthday属性的日期格式为“yyyy-MM-dd”
  • salary属性的数字格式为“#,###.00”

4. serialize属性

  • 通过serialize属性可以控制属性是否序列化到JSON对象中
  • 当serialize属性为false时,属性将不会序列化到JSON对象中,默认为true
public class User {@JSONField(serialize = false)private int userId;private String name;private int age;
}

在上面的例子中,使用@JSONField注解将userId属性从序列化中排除

5.deserialize属性

  • 通过deserialize属性可以控制是否将JSON对象中的属性反序列化到Java对象中
  • 当deserialize属性为false时,该属性将不会从JSON对象中反序列化到Java对象中,默认为true
public class User {private int userId;private String name;@JSONField(deserialize = false)private int age;
}

在上面的例子中,使用@JSONField注解将age属性从反序列化中排除

6.ordinal属性

通过ordinal属性可以指定属性的顺序

  • 默认情况下,属性的顺序是按照属性在Java对象中的顺序排列的
public class User {@JSONField(ordinal = 2)private String name;@JSONField(ordinal = 1)private int age;
}

在上面的例子中,使用@JSONField注解指定了age属性的顺序为1,name属性的顺序为2

7.defaultValue属性

通过defaultValue属性可以指定属性在Java对象中的默认值

public class User {@JSONField(defaultValue = "0")private int userId;@JSONField(defaultValue = "N/A")private String name;private int age;
}

在上面的例子中,使用@JSONField注解指定了userId属性的默认值为0,name属性的默认值为“N/A”

8. type属性

  • 通过type属性可以指定属性的类型
public class User {private int userId;@JSONField(type = FieldType.STRING)private int age;
}

在上面的例子中,使用@JSONField注解指定了age属性的类型为字符串类型

http://www.ds6.com.cn/news/56512.html

相关文章:

  • 做网站后期维护工资贴吧网络搜索优化
  • 信息发布的网站怎么做重庆网站seo推广公司
  • 珠海响应式网站建设公司深圳网站优化哪家好
  • 美妆企业网站模板企业网站优化公司
  • 网站怎样做https软件培训机构排行榜
  • 对比色网站设计重庆网站建设哪家好
  • 信息类网站whois查询
  • 购物网站开发哈尔滨seo网站管理
  • 贵阳网站建设哪家培训心得体会范文500字
  • 网站二级域名建站属于子站吗2022年小学生新闻摘抄十条
  • 无忧网站建设价格文案发布平台
  • wordpress 仿站 菜单关键词排名优化品牌
  • 网站模板下载源码品牌运营策划方案
  • web程序设计与实践做网站微商软文范例大全100
  • 室内设计学校网站网站seo重庆
  • 中国建设银行信用卡官网站首页网址链接查询
  • 找回网站后台搜索引擎网站优化和推广方案
  • 网站管理员怎样管理员权限设置百度搜索热度指数
  • 深圳app开发公司鑫酷百度seo通科
  • 网站建设进度表模板下载app平台搭建
  • 自己做局域网站海外网络推广服务
  • 福州做网站外包团队搜索引擎环境优化
  • 做的网站百度找不到晚上网站推广软件免费版
  • 公司网站建设大概多少钱广州网站营销seo
  • 营销型网站一个多少钱网站死链检测工具
  • 厦门网站建设屈兴东网络推广app是违法的吗
  • 佛山自己网站建设如何查看网站权重
  • 能通过淘宝网站做淘宝客吗广州seo推广公司
  • 剪映导出的视频字幕有乱码优化公司
  • 用二级域名做网站广州网站优化排名