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

如何用Python正确修改JSON?已实现删除,需完成新数据插入

嘿,你已经搞定了删除id为14的条目这一步,接下来只需要添加插入新数据的操作就能得到你想要的目标JSON啦!我帮你把代码补充完整,顺便优化下删除逻辑让它更简洁:

完整实现代码
#!/usr/bin/python
import json

# 原始JSON字符串
x = '{"uuid":"789ce6ed-ec0f-418b-8fad-6ba64cb8bd70","assetTemplate":[{"id":14,"name":"Template-conectividad"},{"id":54,"name":"Template-discos-agata"},{"id":17,"name":"Template-servidor-linux"}],"info":null}'
y = json.loads(x)

# 1. 删除id为14的assetTemplate条目(优化写法)
y["assetTemplate"] = [item for item in y["assetTemplate"] if item['id'] != 14]

# 2. 插入新的条目到assetTemplate列表末尾
new_template = {"id": 85, "name": "Template-conectividad-test"}
y["assetTemplate"].append(new_template)

# 输出格式化后的修改结果
updated_json = json.dumps(y, indent=4)
print(updated_json)
代码说明
  • 删除操作优化:用列表推导式替代了原来的循环删除写法,更简洁易读,同时避免了循环中修改列表长度可能引发的索引问题。
  • 插入新数据:直接创建目标格式的字典,然后用append()方法将其添加到assetTemplate列表的末尾,完全匹配你想要的目标JSON结构。
运行结果

执行代码后会输出格式化后的目标JSON:

{
    "uuid": "789ce6ed-ec0f-418b-8fad-6ba64cb8bd70",
    "assetTemplate": [
        {
            "id": 54,
            "name": "Template-discos-agata"
        },
        {
            "id": 17,
            "name": "Template-servidor-linux"
        },
        {
            "id": 85,
            "name": "Template-conectividad-test"
        }
    ],
    "info": null
}

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.13 09:19:29