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

Python中如何根据指定server_id值删除JSON列表内的对应字典元素

实现步骤

  • 第一步:用json.loads()(处理JSON字符串)或者json.load()(处理JSON文件)把JSON数据转为Python的列表对象
  • 第二步:通过列表推导式过滤掉server_id等于目标值的字典元素
  • 第三步:如果需要输出为JSON格式或者写回文件,再用json.dumps()或者json.dump()处理即可

场景1:处理JSON字符串

import json

# 原始JSON字符串
raw_json_str = '''
[
    {
        "server_id": 800602366797021184,
        "command_name": "emoji"
    },
    {
        "server_id": 842860085147074578,
        "command_name": "emoji"
    }
]
'''

# 加载为Python列表
data_list = json.loads(raw_json_str)

# 要删除的目标server_id
target_server_id = 842860085147074578

# 过滤列表,仅保留不符合删除条件的元素
filtered_list = [item for item in data_list if item["server_id"] != target_server_id]

# 如需转回JSON字符串,可使用以下代码
result_json = json.dumps(filtered_list, indent=4, ensure_ascii=False)
print(result_json)

场景2:直接处理本地JSON文件

import json

# 替换为你的实际文件路径
file_path = "data.json"

# 读取JSON文件内容
with open(file_path, "r", encoding="utf-8") as f:
    data_list = json.load(f)

target_server_id = 842860085147074578
filtered_list = [item for item in data_list if item["server_id"] != target_server_id]

# 写回文件,不需要覆盖原文件可替换为新的输出路径
with open(file_path, "w", encoding="utf-8") as f:
    json.dump(filtered_list, f, indent=4, ensure_ascii=False)

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.21 00:54:05