在 python 中使用新行将变量添加到 API 有效负载

问题描述 投票:0回答:1

我对Python还很陌生,我想要实现的目标是在Python中向下面的有效负载添加变量;它适用于 Zeptomail API,我正在尝试在发送电子邮件模板之前自定义用户特定数据并将其添加到有效负载“合并信息”和“收件人”标头中。

示例.py

test_name = 'users name'
test_email = '[email protected]'
test_title = 'users title'

payload = '''
    {
        \n\"mail_template_key\":\"xxxxxxxxxxxxxxxxxxxxxxxxx\",

        \n\"from\": {
            \"address\": \"[email protected]\",
            \"name\": \"example\"
            },

        \n\"to\": [{
            \"email-address\": {
                \"address\": \"test_email\",
                \"name\": \"test_name\"
                }
            }],

        \n\"merge_info\": {
            "name":"test_name",
            "title":"test_title"
            }}
'''

提前谢谢您

我希望打印出一个新的有效负载变量,其中包含用户特定的“test_”值。

预期打印(),

payload = '''
    {
        \n\"mail_template_key\":\"xxxxxxxxxxxxxxxxxxxxxxxxx\",

        \n\"from\": {
            \"address\": \"[email protected]\",
            \"name\": \"example\"
            },

        \n\"to\": [{
            \"email-address\": {
                \"address\": \"[email protected]\",
                \"name\": \"users name\"
                }
            }],

        \n\"merge_info\": {
            "name":"users name",
            "title":"users title"
            }}
'''
python api newline zeptomail
1个回答
0
投票

有效负载是 JSON 格式的,因此只需构建一个字典/列表的 Python 对象,然后转换为 JSON 字符串即可:

import json

test_name = 'users name'
test_email = '[email protected]'
test_title = 'users title'

data = {'mail_template_key': 'xxxxxxxxxxxxxxxxxxxxxxxxx',
        'from': {'address': '[email protected]',
                 'name': 'example'},
        'to': [{'email-address': {'address': test_email,
                                  'name': test_name}}],
        'merge_info': {'name': test_name,
                       'title': test_title}}

payload = json.dumps(data, indent=2)
print(payload)

输出:

{
  "mail_template_key": "xxxxxxxxxxxxxxxxxxxxxxxxx",
  "from": {
    "address": "[email protected]",
    "name": "example"
  },
  "to": [
    {
      "email-address": {
        "address": "[email protected]",
        "name": "users name"
      }
    }
  ],
  "merge_info": {
    "name": "users name",
    "title": "users title"
  }
}
© www.soinside.com 2019 - 2024. All rights reserved.