MongoDB文档作为JsonNode(jackson库)

我有以下用例 –

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

我正在使用Java ..

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

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

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

您可以使用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