繁体   English   中英

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException:无法识别的字段“消息”异常

[英]com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field “message” exception

请检查以下代码

import java.util.HashMap;
import java.util.Map;

import com.fasterxml.jackson.annotation.*;

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({
        "countryCode",
        "description",
        "message"
})

public class Country {

    @JsonProperty("countryCode")
    private String countryCode;
    @JsonProperty("description")
    private String description;
    @JsonIgnore
    private Map<String, Object> additionalProperties = new HashMap<String, Object>();

    @JsonProperty("countryCode")
    public String getCountryCode() {
        return countryCode;
    }

    @JsonProperty("countryCode")
    public void setCountryCode(String countryCode) {
        this.countryCode = countryCode;
    }

    @JsonProperty("description")
    public String getDescription() {
        return description;
    }

    @JsonProperty("description")
    public void setDescription(String description) {
        this.description = description;
    }

    @JsonAnyGetter
    public Map<String, Object> getAdditionalProperties() {
        return this.additionalProperties;
    }

    @JsonAnySetter
    public void setAdditionalProperty(String name, Object value) {
        this.additionalProperties.put(name, value);
    }

}

下面是堆栈跟踪

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "message" (class Dialog.Api.Testing.ReferenceData.models.Country), not marked as ignorable (2 known properties: "countryCode", "description"])
     at [Source: (String)"{"message":"Success","code":"0000","traceId":"abc1234567","origin":"/reference-data/countries","details":"https://confluence.coe.dialog.lk/display/CRMREW/Error+Codes","timestamp":"2020-07-09 15:28:38","data":{"countries":[{"countryCode":"ALBVF","description":"ALBANIA"},{"countryCode":"ALG","description":"ALGERIA"},{"countryCode":"DZA","description":"ALGERIE"},{"countryCode":"AND","description":"ANDORA"},{"countryCode":"ANT","description":"ANTIGUA"},{"countryCode":"ARG","description":"ARGENTINA"}"[truncated 14184 chars]; line: 1, column: 13] (through reference chain: Dialog.Api.Testing.ReferenceData.models.Country["message"])

在你的@JsonInclude你放了 3 个属性。 另一方面,您不会将 setter 和 getter 添加到消息属性。

与: Jackson 与 JSON 重复:无法识别的字段,未标记为可忽略

您提到的 class 中没有名称为 message 的属性。 您的代码中是否缺少某些内容? 如果您尝试将消息值放入 map 中,则应删除@JsonPropertyOrder处的消息属性规范。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM