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

时间:2018-04-20 20:19:19

标签: 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()方法或类似内容。所以我不知道如何获得我的任何关键名称和相应的值。

2 个答案:

答案 0 :(得分:1)

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

答案 1 :(得分:0)

您是否尝试过yourObject.get(&#34; keyname&#34;)