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

Python中如何为JSON指定键插入父对象并调整位置

解决方案

Python 3.7及以上版本的标准字典是插入有序的,我们可以利用这个特性实现你的需求,具体操作如下:

实现步骤

  1. 读取JSON文件并加载为字典
  2. 提取要放入versions的pattern和baseline键值对
  3. 从原字典中删除这两个键
  4. 找到use_it的位置,在其后方插入包含目标键值对的versions字典
  5. 将修改后的字典写回JSON文件

完整代码示例

import json

# 读取JSON文件
with open("myfile.json", 'r') as f:
    myjson = json.load(f)

# 提取并移除需要放入versions的键值对
versions_content = {}
for key in ["pattern", "baseline"]:
    if key in myjson:
        versions_content[key] = myjson.pop(key)

# 将字典转为键值对列表,方便插入操作
items = list(myjson.items())
# 定位use_it的位置,准备在其后插入
insert_pos = None
for idx, (key, _) in enumerate(items):
    if key == "use_it":
        insert_pos = idx + 1
        break

# 插入versions键值对
if insert_pos is not None:
    items.insert(insert_pos, ("versions", versions_content))

# 转回字典并写回文件
modified_json = dict(items)
with open("myfile.json", 'w') as f:
    json.dump(modified_json, f, indent=4)

代码说明

  • json.load()在Python3.7+环境下会保留原JSON的键顺序,无需额外处理有序字典
  • 使用pop()方法同时完成提取和删除操作,避免重复遍历
  • 转成键值对列表后可以精准控制插入位置,确保versions出现在use_it之后
  • indent=4参数保证输出的JSON格式和你给出的示例一致

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.15 18:43:11