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

时间:2017-05-05 12:05:10

标签: java json spring-boot jackson fasterxml

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

我有第三方类使用fastxml jackson注释。我可以使用指定的toString()方法将给定对象转换为字符串。有没有办法使用该String来获取Link类型的对象?

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

1 个答案:

答案 0 :(得分:6)

只需将@pvpkiran的评论放在答案中。

使用 com.fasterxml.jackson.databind

中的ObjectMapper
ObjectMapper objectMapper = new ObjectMapper();

从Object转换为String:

String jsonString = objectMapper.writeValueAsString(link);

从String转换为Object:

Link link = objectMapper.readValue(jsonString, type)