{
"serverUsed" : "localhost/127.0.0.1:27017",
"result" : [{
"_id" : {
"$oid" : "529f131430044109e30fc6f9"
},
"html" : {
"table" : {
"tbody" : {
"Barge" : {
"Name" : "ANTVERPIA 56",
"Bargeno" : 6003696,
"Harbour" : "HH",
"Reportedpresent" : " ",
"Starting" : "06-12-2013 spil 2"
}
}
}
}
}]
}
我有这个结果,我怎么能得到Name的字符串值。在这种情况下ANTVERPIA 56。 我已尝试使用以下代码,但它不起作用,请帮忙。
for (DBObject result1: output.results()){
String name1 = (String)result1.get("html.table.tbody.Barge.Name");
System.out.println(name1);
}
答案 0 :(得分:1)
使用“。”无法访问嵌套对象。在Java驱动程序中。您必须为每个嵌套的json对象获取DBObject。以下代码应解决问题。
for (DBObject result : output.results()) {
DBObject htmlObj = (DBObject) result.get("html");
DBObject tableObj = (DBObject) htmlObj.get("table");
DBObject tbodyObj = (DBObject) tableObj.get("tbody");
DBObject bargeObj = (DBObject) tbodyObj.get("Barge");
String name = (String) bargeObj.get("Name");
}