这个问题涉及Java库com.fasterxml.jackson.core:jackson-databind:2.8.8
(jackson-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 语法的任何部分。
最佳答案
这是由于您使用了@JsonRawValue
。 JavaDoc因为它说
...Warning: the resulting JSON stream may be invalid depending on your input value.
关于java - Fasterxml Jackson ObjectMapper 生成带有 '=' 字符的 JSON 字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48285318/