我正在编写一个模型工厂,我使用JSON来加载像这样的MongoDB DBObject:
import com.mongodb.util.JSON;
DBObject dbObject = (DBObject) JSON.parse("{'name':'jack', 'age':30}");
现在,我正在尝试分解我的JSON文件,以便我可以使用一个JSON文件加载DBObject,如果需要,我可以使用另一个JSON文件扩充DBObject。
虽然听起来很奇怪,但想象一下有一组不同类型的用户。比如,BasicUser,AdvancedUser等。我可以有一个JSON文件来加载BasicUser,并将AdvancedUser的其他非重叠细节放在另一个JSON文件中。我可以使AdvancedUser扩展BasicUser,因此我可以组合两个JSON文件的内容来创建AdvancedUser模型。
我怎么能达到这样的目标?
答案 0 :(得分: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"}
答案 1 :(得分:0)
我决定推出自己的函数,通过递归遍历一个DBObject并将内容传递给另一个来实现。