Fasterxml Jackson ObjectMapper生成带有'='字符的JSON字符串

时间:2018-01-16 16:02:08

标签: java json jackson

此问题涉及Java库com.fasterxml.jackson.core:jackson-databind:2.8.8jackson-databind-2.8.8.jar

鉴于object是一个POJO:

@com.fasterxml.jackson.annotation.JsonRawValue
private Map<String, String> innerDetail = new HashMap<String, String>();

innerDetail.put("Auth", "{\"node\":\"VALUE\"}");

(POJO也注明了com.fasterxml.jackson.annotation.JsonInclude

然后致电:

com.fasterxml.jackson.databind.ObjectMapper.writeValueAsString(object)

返回包含以下内容的String

"innerDetail":{Auth={"node":"VALUE"}

当然=(等于)应该是:(冒号)?

我没有看到=是JSON语法的任何部分。

1 个答案:

答案 0 :(得分:2)

这是由于您使用了@JsonRawValue。它的JavaDoc表示

  

...警告:根据您的输入值,生成的JSON流可能无效。