0

我使用骆驼和杰克逊用json解组字符串

{"GUID":"123"}


... .unmarshal().json(JsonLibrary.Jackson, TestPojo.class)

还有哈瓦波乔

    TestPojo {
     @JsonProperty("GUID)
     private String guid;

     @JsonProperty("GUID")
     public String getGuid(){
      return guid;
     }
     @JsonProperty("GUID")
     public String setGuid(){
      return guid;
     }
    }

但是有这个例外:

com.fasterxml.jackson.databind.exc.UnrecognizedPropertyException: Unrecognized field "GUID" (class package.TestPojo), not marked as ignorable (1 known properties: "guid")

我用处理器测试了路线,效果很好

        .process(e -> {
            ObjectMapper mapper = new ObjectMapper();
            e.getIn().setBody(mapper.readValue(e.getIn().getBody(String.class),TestPojo.class));
        })

我做错了什么?

4

1 回答 1

0

您的 setguid 以小写形式返回 guid。但是,在 json 正文中,guid 是大写的 (GUID)。尝试将 guid 或 set 大写。

public void setGUID(String GUID){
  this.GUID = GUID 

}

于 2021-07-12T20:00:07.720 回答