簡體   English   中英

如何在Java中使用Jackson將該字符串反序列化為POJO表示形式?

[英]How do I deserialize this string to my POJO representation using Jackson in Java?

public class UpdateRequest {
    @JsonProperty
    private String id;
    @JsonProperty
    private String type;
    @JsonProperty
    private long version;
    @JsonProperty("fields")
    private Map<String, String> values;
}

我的輸入看起來像這樣:

{ 
  "id":"1",
  "type":"add",
  "version": 20146780,
  "fields": {
  "pid":"1234",
  "location":"99,100",
  "lastModified":"2013-12-30T22:15:37.482Z"
  }
}

這是我目前使用Jackson進行操作的方式,但失敗了。 我在這里想念什么?

public Optional<UpdateRequest> deserialize(String message) {
        ObjectMapper mapper = new ObjectMapper();
        Optional<UpdateRequest> updateRequest = Optional
                .empty();
        try {
            updateRequest = Optional.of(mapper.readValue(message,
                    UpdateRequest.class));
            System.out.println(mapper
                    .writeValueAsString(updateRequest));
        } catch (IOException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        return updateRequest;
    }

不確定Optional類在這里做什么,但是您可以通過執行以下操作獲取UpdateRequest對象

UpdateRequest updateRequest = mapper.readValue(message, UpdateRequest.class);

您可能想看看這個文檔JacksonInFiveMinutes

暫無
暫無

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

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