当前位置: 首页 > 知识库问答 >
问题:

@JsonProperty属性是什么时候使用的,它的用途是什么?

邹驰
2023-03-14

这个豆子“状态”:

public class State {

    private boolean isSet;

    @JsonProperty("isSet")
    public boolean isSet() {
        return isSet;
    }

    @JsonProperty("isSet")
    public void setSet(boolean isSet) {
        this.isSet = isSet;
    }

}

使用ajax“成功”回调通过网络发送:

        success : function(response) {  
            if(response.State.isSet){   
                alert('success called successfully)
            }

这里需要注释@JsonProperty吗?使用它有什么好处?我想我可以删除这个注释而不会产生任何副作用。

正在阅读关于https://github.com/FasterXML/jackson-annotations/wiki/Jackson-Annotations我不知道什么时候需要用这个?

共有3个答案

沈高峻
2023-03-14

好吧,不管它现在值多少钱。。。除了通常的序列化和反序列化之外,JsonProperty还用于为变量指定getter和setter方法。例如,假设您的有效载荷如下:

{
  "check": true
}

和反序列化器类:

public class Check {

  @JsonProperty("check")    // It is needed else Jackson will look got getCheck method and will fail
  private Boolean check;

  public Boolean isCheck() {
     return check;
  }
}

在这种情况下,需要JsonProperty注释。但是如果你在课堂上也有一个方法

public class Check {

  //@JsonProperty("check")    Not needed anymore
  private Boolean check;

  public Boolean getCheck() {
     return check;
  }
}

也请查看以下文档:http://fasterxml.github.io/jackson-annotations/javadoc/2.3.0/com/fasterxml/jackson/annotation/JsonProperty.html

戚晨
2023-03-14

我认为OldCurmudgeon和StaxMan都是正确的,但这里有一个简单的例子回答你一句话。

@JsonProperty(name),告诉Jackson ObjectMapper将JSON属性名称映射到带注释的Java字段的名称。

//example of json that is submitted 
"Car":{
  "Type":"Ferrari",
}

//where it gets mapped 
public static class Car {
  @JsonProperty("Type")
  public String type;
 }
商鸿哲
2023-03-14

这里有一个很好的例子。我用它来重命名变量,因为JSON来自。Net环境,其中属性以大写字母开头。

public class Parameter {
  @JsonProperty("Name")
  public String name;
  @JsonProperty("Value")
  public String value; 
}

这将正确解析JSON:

"Parameter":{
  "Name":"Parameter-Name",
  "Value":"Parameter-Value"
}
 类似资料:
  • 问题内容: 这个bean的“状态”: 使用ajax“成功”回调通过电线发送: 这里需要注释@JsonProperty吗?使用它的好处是什么?我想我可以删除此注释而不会引起任何副作用。 在https://github.com/FasterXML/jackson-annotations/wiki/Jackson- Annotations 上阅读有关此注释的信息我不知道何时需要使用此注释? 问题答案:

  • 本文向大家介绍什么是REST/RESTful ?它的用途是什么?相关面试题,主要包含被问及什么是REST/RESTful ?它的用途是什么?时的应答技巧和注意事项,需要的朋友参考一下 Representational State Transfer(REST)/ RESTful (表述性状态转移)是一种帮助计算机系统通过 Internet 进行通信的架构风格。这使得微服务更容易理解和实现。 微服务可

  • 问题内容: 我只想知道 到底是 什么 意思 ?甚至在SO上也没有在官方文档中找到任何解释。 如果您能提供一些例子,我将非常高兴。 问题答案: 请参阅PEP 366 和导入系统参考文档: 提议的主要更改是引入了新的模块级别属性。如果存在,则相对导入将基于此属性而非模块属性。 和 * 应该设置模块的属性。它的值必须是字符串,但可以与其值相同。如果该属性设置为或丢失,则导入系统将使用更合适的值填充该属性

  • 本文向大家介绍JavaScript中.stack属性的用途是什么?,包括了JavaScript中.stack属性的用途是什么?的使用技巧和注意事项,需要的朋友参考一下 Error对象的stack属性提供了有关跟踪哪些函数,以什么顺序,从哪个行和文件以及使用什么参数调用的跟踪。堆栈字符串从最近的调用继续到较早的调用,并返回到原始的全局范围调用。它类似于Java中的堆栈跟踪。 示例 输出结果 这将给出

  • 问题内容: 我正在学习node.js并表示,我想知道./package.json文件中的“私有”属性是用来做什么的吗? 问题答案: 取自本网站https://docs.npmjs.com/files/package.json#private 如果您在package.json中设置“ private”:true,则npm将拒绝发布它。 这是防止意外发布私有存储库的方法。

  • 问题内容: 有人可以解释什么是无作用域及其目的吗? 假设我有一个豆子 并说我没有将任何作用域bean n1注入到上述每个作用域中,然后我发现当实例化其父bean [r1 / s1 / a1]时,将为每个父bean实例化n1。 由于a1是应用程序作用域,因此a1中的作用域bean在整个a1中都不可用。直到不销毁s1并再次创建s1时,s1中的scope Bean才可用。 这是正确的吗? 以及使用它的目