【发布时间】:2017-04-22 21:08:42
【问题描述】:
我在解析从 MongoCursor 获得的用于使用 JsonNode 的字符串时遇到问题。我试图让 MongoCursor 返回的 Json 与我的 Spring SQL POJO 一起工作,所以我可以将它插入到我的 SQL 数据库中。基本上这是一个数据库转换,SQL端只是用于历史存储。我没有使用 spring 的 mongo,因为字段与 POJO 的有些不同。(MongoDB 和 SQL 的架构略有不同)
目前,它通过使用模式匹配器/字符串拆分和替换然后对它们进行 HashMap 来工作,这样我就可以获得每个字段的键值对,然后将其插入到我的 spring POJO 中。我知道我也可以使用杰克逊的 POJO 来工作,但被告知使用 jsonNode 作为更好的解决方案。一定是我遗漏了什么。
在 Jackson 文档中,“json”字符串的格式为:
{ \"color\" : \"Black\", \"type\" : \"BMW\" }
但是,MongoCursor 返回给我的情况并非如此。使用光标,我得到类似:
文档{{_id=G8HQW9123, User=test}}
我使用字符串模式匹配器和 replaceAll 来减少:
{_id:G8G8HQW9123, 用户:test}
但是,杰克逊的斜杠和双引号让我感到厌烦,无法解析。我错过了什么吗?还是我必须在我的代码中实际添加这些斜杠和引号才能使事情正常工作?当前出现请求双引号的解析错误。
【问题讨论】:
标签: java json spring mongodb jackson