You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何用Python的TinyDB查询嵌套JSON对象及搜索test="hi"?

用TinyDB查询嵌套JSON对象的方法

当然可以用TinyDB查询嵌套JSON对象!针对你想筛选test=="hi"的需求,只需要借助TinyDB的Query()对象,通过点语法或者字典索引就能直接定位嵌套字段,轻松完成搜索。

示例代码演示

假设你的JSON数据结构大概是这样的(匹配你描述的包含嵌套json-object字段的场景):

[
    {
        "json-object": {
            "test": "hi"
        },
        "id": 1
    },
    {
        "json-object": {
            "test": "hello"
        },
        "id": 2
    }
]

对应的Python查询代码如下:

from tinydb import TinyDB, Query

# 初始化TinyDB(这里以文件数据库为例,也可以用内存数据库)
db = TinyDB('your_db.json')

# 创建查询对象
Item = Query()

# 方式1:使用点语法访问嵌套字段
matching_items = db.search(Item['json-object'].test == "hi")

# 方式2:使用字典索引访问嵌套字段(和方式1效果完全一致)
# matching_items = db.search(Item['json-object']['test'] == "hi")

# 打印符合条件的完整条目
print(matching_items)

运行后你会直接得到包含test=="hi"的完整数据条目,而不是只拿到json-object字段。

扩展说明

如果你的JSON嵌套层级更深(比如level1.level2.level3.test这种多层结构),同样可以延续这种写法:

# 多层嵌套的查询示例
db.search(Item.level1.level2.level3.test == "target_value")
# 或者用字典索引写法:Item['level1']['level2']['level3']['test'] == "target_value"

这样就能精准定位到任意层级的嵌套字段,筛选出符合条件的数据啦。

内容的提问来源于stack exchange,提问作者Nawap

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.19 08:19:28