1

私は、JSON を使用して MongoDB DBObject を次のようにロードするモデル ファクトリを作成しています。

import com.mongodb.util.JSON;
DBObject dbObject = (DBObject) JSON.parse("{'name':'jack', 'age':30}");

現在、1 つの JSON ファイルで DBObject をロードできるように、JSON ファイルを分割しようとしています。必要に応じて、別の JSON ファイルで DBObject を拡張できます。

奇妙に聞こえるかもしれませんが、さまざまなタイプのユーザーがいると想像してみてください。BasicUser、AdvancedUser などのように、JSON ファイルを使用して BasicUser をロードし、AdvancedUser の他の重複しない詳細を別の JSON ファイルに入れることができます。AdvancedUser を BasicUser に拡張できるので、2 つの JSON ファイルの内容を組み合わせて AdvancedUser モデルを作成できます。

どうすればこのようなことを達成できますか?

4

2 に答える 2

5

putAll はあなたが望むものだと思います。

DBObject obj1 = (DBObject) JSON.parse("{'name':'jack', 'age':30}");
DBObject obj2 = (DBObject) JSON.parse("{'role':'admin'}");
obj1.putAll(obj2);
System.out.println(obj1.toString()); //{ "name" : "jack" , "age" : 30 , "role" : "admin"}
于 2012-05-31T04:50:53.000 に答える
0

1 つの DBObject を再帰的にトラバースし、コンテンツを別の DBObject に転送することで、これを行う独自の機能を展開することにしました。

于 2011-10-13T01:28:54.770 に答える