簡體   English   中英

無法識別的字段Jackson YAML Reader

[英]Unrecognized field Jackson YAML Reader

Main.java

 ObjectMapper mapper = new ObjectMapper(new YAMLFactory());
            Model k = mapper.readValue(new File(PATH), Model.class);

Model.java

 public class Model {

        @JsonProperty
        private Specs details;

        private class Specs{
            @JsonProperty
            private String topic;

            @JsonProperty
            private String id;

            @JsonProperty
            private List<String> list;
        }
    }

yamlfile.yaml

details:
   topic: "test"
   id: "123"
   servers: [
            "test2"
            ]

我運行main.java並得到一個異常:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "details" (class Model), not marked as ignorable (0 known properties: ])
 at [Source: src/main/config/yamlfile.yaml; line: 2, column: 3] (through reference chain: Model["details"])

我不知道我在做什么錯,我似乎無法找出問題所在。 為什么這無法識別?

默認情況下,Jackson可以訪問公共字段進行序列化和反序列化。 如果沒有可用的公共字段,則使用公共獲取者/設置者。

因此:在類級別添加getter / setter或添加@JsonAutoDetect(fieldVisibility = JsonAutoDetect.Visibility.ANY) 對於兩個類,都可以。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM