2013-10-15 52 views
0

,我有以下的用例 -MongoDB的文檔作爲JsonNode(傑克遜庫)

  1. 商店一個JSON模式在MongoDB中(動態,隨時間的變化)。
  2. 從文件中讀取JSON對象並根據模式驗證它們 (in#1)
  3. 我正在使用此JSON Validator
  4. 我需要從mongo db讀取模式並將其轉換爲JsonNode (Jackson庫)。

我使用Java ..

任何人都可以讓我知道如何在MongoDB的文檔轉換爲JsonNode。我需要這個,因爲我使用驗證器(在上述第3項提到的)需要一個JsonNode構造模式對象。

編輯:將DBObject轉換爲JSON字符串然後將其轉換爲JsonNode是否具有良好的性能?

回答

3

爲什麼不直接從DBObject轉到JsonNode? iirc,JsonNode只是一個像DBObject一樣的地圖。從一個轉換到另一個(和後面)應該非常簡單。

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