@JsonProperty的使用
来源:互联网 发布:mac mini 2018 编辑:程序博客网 时间:2024/06/05 17:43
一、jackson的maven依赖
<dependency> <groupId>com.fasterxml.jackson.core</groupId> <artifactId>jackson-databind</artifactId> <version>2.5.3</version></dependency>
@JsonProperty 此注解用于属性上,作用是把属性的名称序列化为另外一个名称,如把name序列化成userName。
二、实体类的建立
import com.fasterxml.jackson.annotation.JsonProperty;public class Person { private Integer id; @JsonProperty("userName") private String name; public Integer getId() { return id; } public void setId(Integer id) { this.id = id; } public String getName() { return name; } public void setName(String name) { this.name = name; } @Override public String toString() { return "Person [id=" + id + ", name=" + name + "]"; }}
三、测试类代码:
import java.io.IOException;import com.fasterxml.jackson.databind.ObjectMapper;public class JSONTest { public static void main(String[] args) throws IOException { Person p = new Person(); p.setId(1001); p.setName("huangbaokang"); // 在name字段上未加@JsonProperty注解时,打印{"id":1001,"name":"huangbaokang"} // 加上@JsonProperty注解时,控制台打印输出{"id":1001,"userName":"huangbaokang"} System.out.println(new ObjectMapper().writeValueAsString(p)); }}
使用@JsonProperty注解特别有用,新建数据库实体类Model,由于后期数据库字段名可能有所改变,在进行后台数据库查询返回给客户端时,我们可以控制输出的字段,如上述代码,我们把原本输出的name字段改成了userName,达到了我们的目的。
四、对象的反序列化
import java.io.IOException;import com.fasterxml.jackson.databind.ObjectMapper;public class JSONTest { public static void main(String[] args) throws IOException { // 对象的反序列化,使用readValue方法对json字符串进行反序列化 String jsonStr = "{\"id\":\"1002\",\"userName\":\"HuangBaoKang\"}"; Person person = new ObjectMapper().readValue(jsonStr.getBytes(), Person.class); // 控制台打印输出Person [id=1002, name=HuangBaoKang] System.out.println(person); }}
在项目各种服务使用Json数据进行通信传输时,有了@JsonProperty注解,我们可以反序列化成我们想要的对象。
阅读全文
0 0
- @JsonProperty的使用
- @JsonProperty的使用
- @JsonProperty的使用
- @JsonProperty的使用
- @JsonProperty的使用
- JSON使用JsonProperty Attribute
- @JsonProperty
- @JsonProperty
- 使用@JsonProperty解决无法同时使用@JsonIgnore及@NotNull注解
- jackson @JsonProperty 用法
- 【Java】--@JsonIgnore and @JsonProperty
- fastJson在bean中加入@JsonProperty转换出的对象中依然有字段为null的处理
- json中注解@JsonProperty用法
- spring中@ResponseBody和@JsonProperty作用
- Json注解属性JsonIgnoreProperties,JsonInclude,JsonProperty总结小记
- (10)json字符转 转JavaBean,且bean中还有List<T>属性 ,重点@JsonProperty("tags") [jackson]
- GUID使用的使用
- ${}的使用
- angularJS商品添加数量加减
- Guava
- 安装FastDFS
- 浮动布局 VS 基于display:inline-block的列表布局
- 专访 | 今日头条李磊:程序员如何跻身AI大潮_应用如何落地
- @JsonProperty的使用
- 关键字static的用途
- Android framework 应用安装流程 分析 PackageManagerService(Android5.1)
- [POJ3262]Protecting the Flowers
- nginx File not found 错误
- EXAM 7.13
- MySQL中高级知识-锁
- maven 打包可执行jar的方法
- static