Java 如何使用Jackson检查JSON元素/键是否有效

Java 如何使用Jackson检查JSON元素/键是否有效,java,json,jackson,Java,Json,Jackson,假设您有一个无模式的JSON,假设您有一个如下所示的类: public class Score { @JsonProperty("game-score") private int gameScore; @JsonProperty("high-score") private int highScore; // Getters & Setters } { "game-score": 100, "high_score":16000 } 假设JS

假设您有一个无模式的JSON,假设您有一个如下所示的类:

public class Score {

    @JsonProperty("game-score")
    private int gameScore;

    @JsonProperty("high-score")
    private int highScore;

    // Getters & Setters
}
{ "game-score": 100, "high_score":16000 }
假设JSON看起来像这样:

public class Score {

    @JsonProperty("game-score")
    private int gameScore;

    @JsonProperty("high-score")
    private int highScore;

    // Getters & Setters
}
{ "game-score": 100, "high_score":16000 }
使用Jackson封送此JSON时,我从重写的toString方法中收到以下消息,其中我显式地放置了“{”和“}”:

{"game-score":100, "high-score": 0}
正如您所看到的,问题在于highScore集合的真实属性有一个-并且被封送的JSON有一个x

当调用toString方法或从Score类调用getHighscore方法时,这会导致属性变为其默认值

问题:

1给定一个设置了特定@JsonProperty的类,是否有方法解析JSON字符串以检查它在编组过程之前或之后是否与POJO中的@JsonProperty匹配,然后将返回布尔方法设置为false

2如何使用Jackson从填充的JsonNode获取所有JSON名称和值


感谢您抽出时间阅读此…

使用我需要在我自己的程序中执行此操作。。。JsonLint不知道如何使用@JsonProperty检查以特定方式格式化的JSON键。您需要知道如何使用@JsonProperty: