MongoDB python如何解析多级json

时间:2016-03-09 20:37:23

标签: python json mongodb parsing flask

如何使用Python 3.5解析Mongodb中的多级json数据?

PLAYER_DEFAULT = {
"_id": Inc(PlayersDB),
"mail": "test@gmail.com",
"password": "123456",
"token": uuid4().hex,
"username": "applet",
"user_info":
    {
        "show_name" : "Hero",
        "rate_us": 20000,
        "rating": 300,
        "gcg": "",
        "ration":0,
        "items":
            [
                {"id":1, "item_type":"socket",      "name":"aEveA", "data":{"level":1, "stat":"AVA"}},
                {"id":2, "item_type":"socket",      "name":"aEveA", "data":{"level":4, "stat":"AVA"}},
                {"id":3, "item_type":"socket",      "name":"Hestos", "data":{"level":9, "stat":"Hest"}},
                {"id":4, "item_type":"user", "name":"AAACZX",   "data":{"expr":1000}},
                {"id":5, "item_type":"user", "name":"AAAAZZZCX",   "data":        {"expr":1000}}
               ]
        } 
}

如何获取项目中的数据级别和统计信息?

["_id"]->["show_name"]  
["_id"]->["user_info"]->["items"]   
["_id"]->["user_info"]->["items"] -> get value by "stat" in items[0]  

我需要通过商品" stat"获取商品ID值
我用循环 如何获得x计数?

for x in PlayersDB.find({"_id":1}):  
    print(x["user_info"]["items"][x.count()])

并且......如何更新" item_type"," id"," items"? 以及如何删除1" id":1" items"?

1 个答案:

答案 0 :(得分:1)

对于该文档,请尝试:

doc['user_info']['items'][0]['data']['stat']

如果您有一个播放器的文档,并想要计算该播放器有多少项,您将使用一些内置的Python函数,我将其称为XXX,您应该研究哪些内容该功能是什么,并在doc:{/ p>的items属性上使用它

number_of_items = XXX(doc['user_info']['items'])

将来,请在问题中使用与发布的示例中相同的名称和结构。