杰克逊将字符串转换为对象

Jackson Converting String to Object

Link.java

@JsonInclude(JsonInclude.Include.NON_NULL)
@JsonPropertyOrder({ "rel", "href","method" })
public class Link {

    @JsonProperty("rel")
    private String rel;
    @JsonProperty("href")
    private String href;
    @JsonProperty("method")
    private Method method;

    @Override
    public String toString() {
        return ToStringBuilder.reflectionToString(this);
    }
}

我有这个带有 fasterxml jackson 注释的第三方 class。我可以使用指定的 toString() 方法将给定对象转换为字符串。有什么方法可以使用该字符串来获取 Link 类型的对象吗?

注意:对象本身有一个嵌入对象(还有几个嵌入对象),这些也需要从字符串本身转换为方法对象。

只是把@pvpkiran 的评论放在一个答案中。

使用 ObjectMapper class 来自 com.fasterxml.jackson.databind

ObjectMapper objectMapper = new ObjectMapper();

从对象转换为字符串:

String jsonString = objectMapper.writeValueAsString(link);

从字符串转换为对象:

Link link = objectMapper.readValue(jsonString, type)