Java 使用BasicDBObject从JSON字符串的列表中获取键和值
我有一个Java 使用BasicDBObject从JSON字符串的列表中获取键和值,java,json,mongodb,list,Java,Json,Mongodb,List,我有一个字符串,带有一个包含列表的JSON。是这样的: { "counts":[ {"foo827138": 123124, "bar2918":312312, "something_else321-313":2321321}, {"foo1231412": 4321, "bar1231515":123, "something_else3012931":7282}, {"foo1210820": 1234, "bar10293810":31
字符串
,带有一个包含列表的JSON。是这样的:
{
"counts":[
{"foo827138": 123124, "bar2918":312312, "something_else321-313":2321321},
{"foo1231412": 4321, "bar1231515":123, "something_else3012931":7282},
{"foo1210820": 1234, "bar10293810":3112, "something_else12094":1321}
]
}
使用BasicDBObject.parse()解析后:
如何获取计数
列表中的键和值
PS.:doc.get(“counts”)
返回一个BasicDBList
对象。我只能用以下方法重复此过程:
for (Object a : doc) {
// Something
}
对象
不提供get()
方法或类似方法。因此,我不知道如何获取任何键名和相应的值。您是否尝试过您的Object.get(“键名”)Document Document=Document.parse(jsonString);
List countsArray=document.get(“counts”,List.class);
用于(文件文档:countsArray){
doc.keySet();//键
doc.values();//值
对于(Map.Entry:doc.entrySet()){
//迭代每一对
}
}
当您引用BasicDBObject
时,您是在谈论它的MongoDB实例吗?您能提供调用parse()的代码吗?是的,它是它的MongoDB实例。我已经编辑了问题,提供了确切的场景。关键是随机的
for (Object a : doc) {
// Something
}
Document document = Document.parse(jsonString);
List<Document> countsArray = document.get("counts",List.class);
for (Document doc : countsArray){
doc.keySet(); //keys
doc.values(); //values
for (Map.Entry entry : doc.entrySet()){
// iterate over each pair
}
}