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

如何在Python中动态构建指定结构的JSON用于API调用

Python动态构建目标JSON结构实现方法

在Python中不需要直接拼接JSON字符串,你只需要按照目标结构先构建Python原生的字典、列表组合,再通过json标准库序列化即可,变量、动态数组都可以直接嵌入到对应位置。

实现代码示例

import json

# 以下为可替换的动态变量,可根据业务逻辑从数据库、用户输入等渠道获取
dynamic_list_names = ["listname0001", "listname0002", "listname0003"]
dynamic_subscribers = [
    {
        "first_name": "Subscriber's First Name",
        "last_name": "Subscriber's Last Name",
        "email": "subscriber_email0001@api.trumpia.com",
        "mobile": {
            "number": "2003004000",
            "country_code": "1"
        }
    }
]

# 按照目标JSON结构构建Python原生字典
payload = {
    "list_name": ",".join(dynamic_list_names),  # 动态拼接成逗号分隔的列表名字符串
    "subscriptions": dynamic_subscribers  # 直接传入动态订阅者数组
}

# 场景1:需要得到JSON字符串用于其他场景
json_str = json.dumps(payload, ensure_ascii=False, indent=2)
print(json_str)

# 场景2:使用requests调用API,无需手动序列化,直接传入json参数即可
# import requests
# api_response = requests.post("你的API接口地址", json=payload)

关键说明

  • 结构对应规则:Python的dict对应JSON对象,list对应JSON数组,字符串、数字、True/False/None分别对应JSON的字符串、数字、布尔值和null,无需手动处理格式转义
  • 动态扩展:如果需要增加subscriptions里的订阅者,直接对dynamic_subscribers列表执行append()操作即可,比如遍历数据库查询结果批量添加
  • 序列化参数:ensure_ascii=False可以保留中文等非ASCII字符,indent用于格式化输出,生产环境调用API时可去掉这两个参数减少传输体积

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.27 19:54:01