杰克逊:如何将具有JSON内容的属性解组为原始字符串

时间:2016-12-30 16:49:42

标签: json jackson marshalling

我正在将对象编组为JSON,在String属性中具有JSON(String actionsJSON)。这导致JSON被转义,所以我使用Jackson注释@JsonRawValue来获取该属性中的JSON不被转义。问题是,当我将它解组回一个String属性(相反的过程)时,Jackson会处理JSON(它有一个JSON数组)并抛出一个错误,因为java类属性只是一个字符串:

Can not deserialize instance of java.lang.String out of START_ARRAY token

如何让Jackson只是复制该属性的内容而不尝试处理它,所以我在String属性中有JSON代码,就像我在原始对象中一样?

(我在目标类中尝试过@JsonRawValue,... @JsonSerialize(使用= ToStringSerializer.class,as = StringSerializer.class)但错误仍然存​​在。

1 个答案:

答案 0 :(得分:0)

你应该看看Json De serlalize而不是JsonSerialize。 Deserialize JSON to string in raw format using Jackson的一个很好的例子 以及http://www.baeldung.com/jackson-annotations

中的更详细信息