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

JSON中匹配following_status为followed时获取对应外层键名

实现方案

核心逻辑与具体编程语言无关,通用步骤如下:

  • 先将原始JSON字符串解析为当前编程语言可操作的结构化对象(字典/普通对象类型)
  • 遍历该结构化对象的所有顶层键值对
  • 逐个检查每个键对应的子对象中,following_status字段的值是否等于followed
  • 收集所有符合匹配条件的顶层键,即为最终结果

Python 实现示例

import json

# 原始JSON数据
json_str = '''
{
    "key1": {
        "last_interaction": "2022-06-20 06:55:55.652434",
        "following_status": "followed",
        "session_id": "f594abec-3819-4461-9b6c-0df0f11cf382",
        "job_name": "blogger-following",
        "target": "name1",
        "liked": 21,
        "watched": 7,
        "commented": 0,
        "followed": false,
        "unfollowed": false,
        "scraped": false,
        "pm_sent": false
    },
    "key2": {
        "last_interaction": "2022-06-20 08:05:18.777275",
        "following_status": "none",
        "session_id": "f594abec-3819-4461-9b6c-0df0f11cf382",
        "job_name": "blogger-following",
        "target": "name2",
        "liked": 16,
        "watched": 7,
        "commented": 0,
        "followed": false,
        "unfollowed": false,
        "scraped": false,
        "pm_sent": false
    },
    "key3": {
        "last_interaction": "2022-06-20 08:02:35.141878",
        "following_status": "followed",
        "session_id": "f594abec-3819-4461-9b6c-0df0f11cf382",
        "job_name": "blogger-following",
        "target": "name3",
        "liked": 9,
        "watched": 22,
        "commented": 0,
        "followed": false,
        "unfollowed": false,
        "scraped": false,
        "pm_sent": false
        }
}
'''
# 解析为字典结构
data = json.loads(json_str)
# 筛选符合条件的外层键
result = [key for key, val in data.items() if val.get("following_status") == "followed"]
print(result)

运行后输出:['key1', 'key3']

JavaScript 实现示例

// 原始JSON数据
const jsonStr = `{
    "key1": {
        "last_interaction": "2022-06-20 06:55:55.652434",
        "following_status": "followed",
        "session_id": "f594abec-3819-4461-9b6c-0df0f11cf382",
        "job_name": "blogger-following",
        "target": "name1",
        "liked": 21,
        "watched": 7,
        "commented": 0,
        "followed": false,
        "unfollowed": false,
        "scraped": false,
        "pm_sent": false
    },
    "key2": {
        "last_interaction": "2022-06-20 08:05:18.777275",
        "following_status": "none",
        "session_id": "f594abec-3819-4461-9b6c-0df0f11cf382",
        "job_name": "blogger-following",
        "target": "name2",
        "liked": 16,
        "watched": 7,
        "commented": 0,
        "followed": false,
        "unfollowed": false,
        "scraped": false,
        "pm_sent": false
    },
    "key3": {
        "last_interaction": "2022-06-20 08:02:35.141878",
        "following_status": "followed",
        "session_id": "f594abec-3819-4461-9b6c-0df0f11cf382",
        "job_name": "blogger-following",
        "target": "name3",
        "liked": 9,
        "watched": 22,
        "commented": 0,
        "followed": false,
        "unfollowed": false,
        "scraped": false,
        "pm_sent": false
        }
}`;
// 解析为JS对象
const data = JSON.parse(jsonStr);
// 筛选符合条件的外层键
const result = Object.entries(data)
  .filter(([_, val]) => val.following_status === "followed")
  .map(([key]) => key);
console.log(result);

运行后输出:['key1', 'key3']

如果你使用其他编程语言,只需要按照前述通用步骤,调用对应语言的JSON解析方法、对象遍历方法即可实现相同效果。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.28 07:24:36