【发布时间】:2019-11-21 02:21:34
【问题描述】:
我希望在使用 Jackson 读取序列化 JSON 字符串时,将其简单地视为我的 JSON 中的字符串。当我简单地转义序列化的 JSON 字符串并将其用作值时,序列化的字符串将被视为 JSON 的一部分并被解析。关于如何进行此操作的任何想法?
例如:
"{\"payload\":\"{id:\"some-random-id\",version:554471325}\"}"
我希望在内存中读取如下内容:
{ payload: "{id:\"some-random-id\",version:554471325}" }
但是,解析器正在尝试将序列化的字符串读取为 JSON 并将其转换为以下内容:
{ payload: {id:"some-random-id", version:554471325} }
注意两个输出之间的区别。在一种情况下,与payload 关联的值是一个字符串,在另一种情况下它是一个 JSON 对象。我正在尝试获得前者,而我得到的是对后者的尝试。
【问题讨论】:
-
你能举个例子来演示你想要实现的目标吗?
-
也发布您的代码?
-
我添加了一个例子。由于各种原因无法粘贴代码。
-
仍然不知道你想做什么,我只看到一些反斜杠和双引号被删除。
-
第一个是一个有效的 JSON 字符串,只是一个嵌入了引号的文本字符串。但是文本不是有效的 JSON,第三个
{ payload: {id:"some-random-id", version:554471325} }不是有效的 JSON,因为必须引用 JSON 键,即它应该是{ "payload": { "id": "some-random-id", "version": 554471325 } }(间距不重要)
标签: java json jackson jackson-databind