fastJson中的@JsonProperty(value = "")与@JSONField(name = "")注解

两注解均用于属性上。
本人使用两个注解的场景:涉及到与第三方接口对接中,第三方的属性名与我方属性名不同,我方属性名均为请求与响应中的属性定义,在MyRequest中,第三方属性为ProductId,而我方属性为productID,此时,使用JSONFeild属性即可解决第三方与我方属性名不一致问题;
而在第三方请求我方接口后,返回的响应中(MyResponse),我方最终返回的属性名为productID,而第三方需要的属性名为ProductId,故而可以使用JsonPropert注解将我方属性productID映射为ProductId,那么在其返回的接口中,数据即为ProductId。
1、@JSONField(name="")
如下代码中,请求中属性名为ProductId

public class MyRequest{
     

    @JSONField(name = "ProductId")
    private String productID;
}

2、@JsonProperty(value="")

public class MyResponse {
     

    @JsonProperty(value = "ProductId")
    private int productID;
}

你可能感兴趣的:(Java)