MongoDB文档作为JsonNode(杰克逊库)

时间:2013-10-15 11:36:31

标签: java json mongodb

我有以下用例 -

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

    任何人都可以让我知道如何将mongodb文档转换为JsonNode ..我需要这个,因为我使用的验证器(在上面的#3中提到)需要一个JsonNode来构造架构对象。

    编辑:将DBObject转换为JSON字符串然后将其转换为JsonNode,性能是否良好?

2 个答案:

答案 0 :(得分:3)

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

答案 1 :(得分:0)

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

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

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