0

我有以下用例 -

  1. 在 mongodb 中存储 JSON 模式(动态,随时间变化)。
  2. 从文件中读取 JSON 对象并根据模式验证它们(在 #1 中)
  3. 我正在使用这个JSON Validator
  4. 我需要从 mongo db 中读取模式并将其转换为 JsonNode(杰克逊库)。

我正在使用Java..

谁能让我知道如何将 mongodb 文档转换为 JsonNode。我需要这个,因为我正在使用的验证器(在上面的 #3 中提到)需要一个 JsonNode 来构造模式对象。

编辑:将 DBObject 转换为 JSON 字符串然后将其转换为 JsonNode 是否明智?

4

2 回答 2

3

为什么不直接从 DBObject 转到 JsonNode?iirc,JsonNode 只是一个像 DBObject 一样的映射。从一个转换到另一个(和返回)应该非常简单。

于 2013-10-15T15:07:15.183 回答
1

您可以使用 ObjectReader 类(com.fasterxml.jackson.databind.ObjectReader):

ObjectMapper mapper = new ObjectMapper();
ObjectReader reader = mapper.reader(JsonNode.class);
JsonNode node = reader.readValue(document.toJson());

在这里您可以找到 Jackson 的一些性能最佳实践:http ://wiki.fasterxml.com/JacksonBestPracticesPerformance

于 2015-04-27T06:11:14.293 回答