杰克逊将字符串转换为对象
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)
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)