java - 使用 BasicDBObject 从 JSON 字符串列表中获取键和值

标签 java json mongodb list

我有一个 String 和一个包含列表的 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() 解析后:

DBObject doc = BasicDBObject.parse(jsonString);  

如何获取 counts 列表中的键和值?

PS.: doc.get("counts") 返回一个 BasicDBList 对象。我只能通过以下方式迭代:

for (Object a : doc) {
    // Something
}

Object 不提供 get() 方法或类似方法。所以我不知道如何获取我的任何键名和相应的值。

最佳答案

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

关于java - 使用 BasicDBObject 从 JSON 字符串列表中获取键和值,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49949164/

相关文章:

java - 强制参数与子类类型相同

java - 如何从阿拉伯语翻译成英语?

java - 匿名类可以访问其封闭类的成员吗?

java - 使用 Java 分析系统内存/CPU 统计信息

java - Gson错误: JsonSyntaxException when Json has a map

mongodb - 在 Lithium 和 MongoDB 中使用嵌套文档/数组

java - Jackson - 多版本字段;回退到默认解串器

ios - 解析 JSON objectAtIndexPath

mongodb - 如何在 mongodb 聚合中生成嵌入数组的并集

node.js - 更新/插入子文档时的 mongodb 性能