簡體   English   中英

在 tinyDB 中搜索復雜的 json 信息

[英]Searching in a complex json information in an tinyDB

我在 tinyDB 中有以下 json 信息

{
"_default": {
    "1": {
        "status": {
            "timestamp": "2021-03-21T15:12:04.025Z",
            "total_count": 4436
        },
        "data": [
            {
                "id": 1,
                "name": "abc"
            },
            {
                "id": 2,
                "name": "def"
            },
            {
                "id": 1,
                "name": "qwe"
            }
        ]
    }
}

}

我了解如何在狀態部分中搜索,即

listings = db.table('_default')
E = Query()
print(listings.search(E.status.total_count == 4436))

但是如何使用 [] 在數據部分中搜索?

您可以將其作為字符串加載並按索引解析,因為 data 是一個列表。 因此,只需將[0]更改為您有興趣在數據片段中看到的任何索引

import json

x = """{
   "_default":{
      "1":{
         "status":{
            "timestamp":"2021-03-21T15:12:04.025Z",
            "total_count":4436
         },
         "data":[
            {
               "id":1,
               "name":"abc"
            },
            {
               "id":2,
               "name":"def"
            },
            {
               "id":1,
               "name":"qwe"
            }
         ]
      }
   }
}"""

y = json.loads(x)


print(y["_default"]["1"]["data"][0])

結果是:

{'id': 1, 'name': 'abc'}

編輯:我看到你正在為此使用數據庫表,所以你它不會完全適用,但你至少可以通過索引想法獲得解析

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM