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

标签 java json jackson

这个问题涉及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 语法的任何部分。

最佳答案

这是由于您使用了@JsonRawValueJavaDoc因为它说

...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/

相关文章:

java - 凯撒加密完全丢失空格

使用 Jackson 将 Java 属性文件转换为 JSON

java - jackson 反序列化问题与 map 中的 final类

android - Jackson + Gson + Retrofit 预期为 BEGIN_OBJECT 但为 BEGIN_ARRAY

java - Mockito 无法模拟目标类构造函数中存在的函数调用

调用 SOAP Web 服务的 Java/Groovy 方法(版本 1.2)

java - 我们如何通过 Windows cmd 停止正在运行的 java 进程?

javascript - 将段落替换为 JSON 中的城市名称

java - 如何获取 JSON 数据的多个可选值?

java - 如何用Java读取JSON数据