对于那些有兴趣的人,我找到了解决我的问题的方法。事实证明,BSON格式可以像使用Google's GSON driver.一样被解析。我必须处理的一个棘手的部分是想办法将嵌套字段存储在我的模板类中。允许GSON解析嵌套文档的方法是在模板类中声明静态内部类。这里有一个例子:
public BSONObject {
// Private fields
private int foo;
private String bar;
// Constructors
public BSONObject() {}
// Static inner subclasses
private Widget widget;
private Duck quack;
// Getters & Setters for outer class
public int getFoo() {...}
public String getBar() {...}
public Widget getWidget() {...}
public Duck getDuck() {...}
// Static inner class declarations
public static Widget {
// include vars & getters/setters
}
等
声明模板类按照上述框架,让我轻松地分析MongoDB的使用几行代码从GSON库格式。请注意,我串接一个“\ n”来的每个条目从我的web服务返回的数据时,以在蒙戈的BSON响应每个文档分开:
public String getNestedField() {
Gson gson = new Gson();
String [] split = response.split("\n");
JsonParser p = new JsonParser();
String json = split[0];
BSONObject b = gson.fromJson(p.parse(json), BSONObject.class);
return b.getWidget().getField();
}
重复的:http://stackoverflow.com/questions/3656335/bson-library-for-java有一些答案 – 2011-05-26 22:14:54
模板对象的形式是什么?它只是一个POJO? – 2011-05-27 04:18:15
模板是一个带有嵌套类的Java对象,用于模拟BSON文档的结构。我可以调整模板的结构,以便存储来自Mongo的数据。 – 2011-05-27 14:42:33