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

如何通过Python OrderedDict生成指定嵌套JSON结构?

用Python OrderedDict构造嵌套JSON结构

先明确你要生成的目标JSON结构:

{
  "id": "de",
  "Key": "1234567",
  "from": "test@test.com",
  "expires": "2018-04-25 18:45:48.3166159",
  "command": "method.exec",
  "params": {
    "method": "cmd",
    "Key": "default",
    "params": {
      "command": "testing 23"
    }
  }
}

核心思路就是嵌套使用OrderedDict——每一层的嵌套对象都对应一个新的OrderedDict实例,完全匹配JSON的层级结构。下面是完整的可运行代码:

from collections import OrderedDict
import json

# 先构造最内层的params字典
inner_params = OrderedDict([
    ('command', 'testing 23')
])

# 再构造中间层的params字典(包含内层params)
middle_params = OrderedDict([
    ('method', 'cmd'),
    ('Key', 'default'),
    ('params', inner_params)
])

# 最后构造最外层的完整结构
json_payload = OrderedDict([
    ('id', 'de'),
    ('Key', '1234567'),
    ('from', 'test@test.com'),
    ('expires', '2018-04-25 18:45:48.3166159'),
    ('command', 'method.exec'),
    ('params', middle_params)
])

# 转换成格式化的JSON字符串输出(和示例格式一致)
print(json.dumps(json_payload, ensure_ascii=False, indent=4))

额外说明:

  • 如果你的字段值是动态变量(比如id、Key是从别处获取的),直接把代码里的字面量换成对应变量即可,注意避免变量名和Python内置函数重名(比如把id改成user_id更安全)
  • 要是你用的是Python 3.7+,普通dict也能保持插入顺序,但如果需要兼容旧版本或者明确强调有序性,OrderedDict还是更稳妥的选择
  • json.dumps里的indent=4是为了让输出的JSON更易读,和你的示例格式对齐,不需要的话可以去掉

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.26 08:49:24