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/

相关文章:

sql - 为 10k+ 用户保存用户数据的最佳方法

java - jackson 自定义反序列化

json - Jersey 无法捕获任何 jackson 异常

java - Spring-MVC RequestMapping URITemplate 中的可选路径变量

java - 甲骨文 11g 11.2.0.1 : No more data to read from socket

android - 从响应中获取 header (改造/OkHttp 客户端)

java - 即使存在默认构造函数,也无法从对象值反序列化(没有基于委托(delegate)或属性的创建者)

java - 如何使用 Logback 正确配置 ServerSocketReceiver

java - Dagger 2,MVVM : Adding a third tab and going back and forth crashes the app

android - 休息 API Android 应用程序