首页 > 解决方案 > 使用 .format() 动态替换 json 值

问题描述

我想使用 format() 替换 json 值

x = ['a','b']
y = ['x','y']

我想通过迭代列表项将有效负载动态传递给 API

for i in x:
    for j in y:
        "{'id': '{}', 'head': 10, 'tail': 0, 'rmc': '{}'}".format(i,j)  

  

所以有效载荷的输出会是这样的

payload = {'id': 'a', 'head': 10, 'tail': 0, 'rmc': 'x'}
payload = {'id': 'a', 'head': 10, 'tail': 0, 'rmc': 'y'}
payload = {'id': 'b', 'head': 10, 'tail': 0, 'rmc': 'x'}
payload = {'id': 'b', 'head': 10, 'tail': 0, 'rmc': 'y'}

但是在执行上述任务时,我收到错误消息,是否有任何解决方法或任何其他替代方法?

标签: pythonjsonkey-value

解决方案


您需要转义大括号:

x = ['a', 'b']
y = ['x', 'y']

for i in x:
    for j in y:
        print("{{'id': '{}', 'head': 10, 'tail': 0, 'rmc': '{}'}}".format(i, j))

输出

{'id': 'a', 'head': 10, 'tail': 0, 'rmc': 'x'}
{'id': 'a', 'head': 10, 'tail': 0, 'rmc': 'y'}
{'id': 'b', 'head': 10, 'tail': 0, 'rmc': 'x'}
{'id': 'b', 'head': 10, 'tail': 0, 'rmc': 'y'}

推荐阅读