Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/356.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Java 使用BasicDBObject从JSON字符串的列表中获取键和值_Java_Json_Mongodb_List - Fatal编程技术网

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
    }
}