0

私は次のユースケースを持っています -

  1. JSON スキーマ (動的、経時変化) を mongodb に格納します。
  2. ファイルから JSON オブジェクトを読み取り、スキーマに対して検証する (#1)
  3. このJSON Validatorを使用しています。
  4. mongo db からスキーマを読み取り、それを JsonNode (Jackson ライブラリ) に変換する必要があります。

私は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 に答える