【问题标题】:Use variables in payload在有效负载中使用变量
【发布时间】:2021-04-13 15:05:52
【问题描述】:

我希望使用以下有效负载来发出发布请求。如果我希望 Age、Average Family Size 和 City 的每个值都是变量,我将如何重新格式化?

payload = "{\"Age\": \"50\",\n \"Average Family Size\": \"2.5\",\n \"City\": \"Washington\"}"

【问题讨论】:

    标签: python json aws-api-gateway python-2.x


    【解决方案1】:

    这对 F 弦很有用。

    假设您的变量名为agesizecity

    payload = f'{"Age": "{age}",\n "Average Family Size": "{size}",\n "City": "city"}'
    

    Python 2.7 老式%s 字符串插值:

    payload = f'{"Age": "%s",\n "Average Family Size": "%s",\n "City": "%s"}' % (age, size, city)
    

    此外,通过将整个字符串括在单引号中,您不必转义双引号。

    【讨论】:

    • 假设我使用的是 python 2.7
    • @ben890 已针对 python 2.7 更新。
    【解决方案2】:

    您可以使用字典和 json 模块,不过,如果您可以使用更现代的 python 版本,f-strings 会更好:

    import json
    
    def get_payload(age, family_size, city):
        return json.dumps({
            "Age": age,
            "Average Family Size": family_size,
            "City": city
        })
    
    print(get_payload(21, 2, 'Washington DC'))
    

    输出:

    {"Age": 21, "Average Family Size": 2, "City": "Washington DC"}
    

    【讨论】:

      猜你喜欢
      • 2015-02-27
      • 2022-06-14
      • 1970-01-01
      • 2012-09-18
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-05-20
      • 1970-01-01
      相关资源
      最近更新 更多