如何使用Java中的Jackson将该字符串反序列化为POJO表示?

如何使用Java中的Jackson将该字符串反序列化为POJO表示?,java,jackson,Java,Jackson,这就是我目前使用Jackson的方式,但它失败了。我错过了什么 { "id":"1", "type":"add", "version": 20146780, "fields": { "pid":"1234", "location":"99,100", "lastModified":"2013-12-30T22:15:37.482Z" } } 不确定可选类在这里做什么,但您可以通过执行以下操作来获取UpdateRequest对象 public Optional&

这就是我目前使用Jackson的方式,但它失败了。我错过了什么

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

不确定可选类在这里做什么,但您可以通过执行以下操作来获取UpdateRequest对象

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;
    }

您可能想看看这篇文档。

我收到了一个例外。您可以发布例外的前几行吗?
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;
    }
UpdateRequest updateRequest = mapper.readValue(message, UpdateRequest.class);