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

Karate:如何从JSON中删除指定的动态id元素?

删除JSON数组中所有id字段的实现方案

我们需要处理如下JSON结构,删除每个对象中的id元素:

[
    {
        "id": "0a7936ed",
        "code": "test",
        "label": "test",
        "type": "sell"
    },
    {
        "id": "7bc1909b2",
        "code": "test2",
        "label": "test2",
        "type": "Buy"
    }
]

处理后期望得到的结果:

[
    {
        "code": "test",
        "label": "test",
        "type": "sell"
    },
    {
        "code": "test2",
        "label": "test2",
        "type": "Buy"
    }
]

不同场景的实现方法

JavaScript 实现

适配前端、Node.js环境,代码简洁易读:

const originalArr = [/* 原始JSON数组 */]
const result = originalArr.map(({ id, ...rest }) => rest)
// 格式化输出结果
console.log(JSON.stringify(result, null, 4))

Python 实现

适配后端脚本、批量文件处理场景:

import json

# 从字符串读取原始JSON
original_data = json.loads("原始JSON字符串")
# 若从本地文件读取可使用如下代码
# with open("input.json", "r", encoding="utf-8") as f:
#     original_data = json.load(f)

result = [{k: v for k, v in item.items() if k != "id"} for item in original_data]

# 打印格式化结果
print(json.dumps(result, indent=4, ensure_ascii=False))
# 若要写入本地文件可使用如下代码
# with open("output.json", "w", encoding="utf-8") as f:
#     json.dump(result, f, indent=4, ensure_ascii=False)

命令行快速处理(jq工具)

仅需一行命令即可完成本地JSON文件处理:
jq 'map(del(.id))' input.json > output.json
执行后会自动读取input.json内容,删除所有对象的id字段后写入output.json。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.15 08:24:06