如何使用 python 格式化带有动态变量的 json 数据

How to format a json data with dynamic variable using python

我正在 Python 中动态准备 json 数据,这意味着 pass_over 可以更改 随时。我只是在下面提供了一个示例来修复它 每次我将测试器变量传递给 api 调用时,我得到的都是

valueError:格式说明符无效

这是我的代码

    pass_over = '000067895'

    tester = f'''{
              "custId": {pass_over},
              "acctStatusCriterion": [
                {
                  "acctType": "YY",
                  "acctStatus": "Open"
                },
                {
                  "acctType": "VV",
                  "acctStatus": "Open"
                },
              ],
              "incExtAcctInfoFlag": true 
            }'''
            

我做错了什么?我不能在 python 中使用 f 字符串吗?这个json格式不对吗?

您的代码的问题在于方括号(所有方括号),f 字符串将其中的内容视为变量(它们用作格式说明符),而不仅仅是包含您打算更改的变量的变量。要解决这个问题,请在您希望忽略的所有内容中使用双括号,例如:

pass_over = '000067895'

tester = f'''{{
            "custId": '{pass_over}',
            "acctStatusCriterion": [
            {{
                "acctType": "YY",
                "acctStatus": "Open"
            }},
            {{
                "acctType": "VV",
                "acctStatus": "Open"
            }},
            ],
            "incExtAcctInfoFlag": true 
        }}'''

print(tester)

输出:

    {
        "custId": '000067895',
        "acctStatusCriterion": [
        {
            "acctType": "YY",
            "acctStatus": "Open"
        },
        {
            "acctType": "VV",
            "acctStatus": "Open"
        },
        ],
        "incExtAcctInfoFlag": true
    }