@JsonProperty作用

jackson的maven依赖

<dependency>
    <groupId>com.fasterxml.jackson.core</groupId>
    <artifactId>jackson-databind</artifactId>
    <version>2.5.3</version>
</dependency>

@JsonProperty 此注解用于属性上,作用是把该属性的名称序列化为另外一个名称,如把trueName属性序列化为name,@JsonProperty("name")。

import com.fasterxml.jackson.annotation.JsonProperty; 
   
public class Student { 
   
    @JsonProperty("name") 
    private String trueName; 
   
    public String getTrueName() { 
        return trueName; 
    } 
   
    public void setTrueName(String trueName) { 
        this.trueName = trueName; 
    } 
}  

测试一下

import com.fasterxml.jackson.core.JsonProcessingException; 
import com.fasterxml.jackson.databind.ObjectMapper; 
   
public class Main { 
    public static void main(String[] args) throws JsonProcessingException { 
        Student student = new Student(); 
        student.setTrueName("张三"); 
        System.out.println(new ObjectMapper().writeValueAsString(student)); 
    } 
}  

得到结果

{"name":"张三"} 

这里需要注意的是将对象转换成json字符串使用的方法是fasterxml.jackson提供的!!

@JsonProperty不仅仅是在序列化的时候有用,反序列化的时候也有用,比如有些接口返回的是json字符串,命名又不是标准的驼峰形式,在映射成对象的时候,将类的属性上加上@JsonProperty注解,里面写上返回的json串对应的名字

相关推荐
好看资源平台几秒前
Java Web开发基础——Web应用的请求与响应机制
java
刘Java3 分钟前
Dubbo 3.x源码(28)—Dubbo服务发布导出源码(7)应用级服务接口元数据发布
java·dubbo·dubbo源码
---wzy---4 分钟前
我的JAVA-Web基础(2)
java·开发语言
伟大无须多言15 分钟前
企业资源规划系统(ERP)服务器上线项目实施指南
开发语言·php
逊嘘16 分钟前
【Java数据结构】LinkedList
java·开发语言·数据结构
周盛欢17 分钟前
云服务器yum无法解析mirrorlist.centos.org
开发语言·python
总是学不会.17 分钟前
第五篇:前后端如何“扯皮”——HTTP 在开发中的应用
java·网络·网络协议·http·开发
代码拯救不了世界27 分钟前
若依框架中的上传图片后如何实现回显到页面的
java·图片上传·若依
lxyzcm29 分钟前
深入理解C++23的Deducing this特性(上):基础概念与语法详解
开发语言·c++·spring boot·设计模式·c++23
heirui_Oooo29 分钟前
利用两种方式分别实现单例模式(懒汉式、饿汉式)
java·开发语言