问题描述
我在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))
但是如何使用 [] 在数据部分中进行搜索?
解决方法
您可以将其作为字符串加载并按索引解析,因为数据是一个列表。因此,只需将 [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'}
编辑:我看到您正在为此使用数据库表,因此您不会完全适用,但您至少可以通过索引想法进行解析