Source=["SGD"]
Destination=["USD"]
Amount=[5000]
```import requestsurl = "https://api.currencyfair.com/comparisonQuotes“
有效载荷=“{\”currencyFrom\:\“SGD\”,\"currencyTo\":\"EUR\",\“type\\”:\“SELL\”,\"amountInfo\":
{“金额”:50000,\“比例”:2}“
标头={
'user-agent': "vscode-restclient",'content-type': "application/json",'accept': "application/json"}响应= requests.request("POST“、url、data=payload、headers=headers)
打印(response.text)
我需要将值传递给有效负载字符串-有效载荷= "{"currencyFrom":"SGD","currencyTo":"EUR","type":"SELL","amountInfo":{"amount":50000,“scale”:2}“需要使用在‘’上创建的3个列表将值传递给有效负载。
发布于 2021-05-13 12:43:56
你能解释一下你想要什么吗?
我怀疑您的意思是,每次调用函数以发布数据时,您都希望动态更新文本有效负载中的值。
我通常会这样做:创建占位符字符串,然后在运行时替换占位符值来更新占位符。
payload = "{\"currencyFrom\":\"@currencyFrom\",\"currencyTo\":\"@currencyTo\",\"type\":\"SELL\",\"amountInfo\": {\"amount\":@amountInfo,\"scale\":2}}"
currencyFrom = 'USD'
currencyTo = 'EUR'
amountInfo = 50000
payload = payload.replace('@currencyFrom', currencyFrom).replace('@currencyTo', currencyTo).replace('@amountInfo', amountInfo)看看您试图与之交互的API,这是它所期望的示例:
{"currencyFrom": "EUR",
"currencyTo": "GBP",
"type": "SELL",
"amountInfo": {"amount": 100},
"ignoreFee": false}这是一个遵循特定格式的JSON对象,如果您试图传递一个列表,而不是"currencyFrom“、"currencyTo”字段中的字符串,则会得到一个错误。
要获得多个值,响应只需对API执行多个请求,例如:
payload = "{\"currencyFrom\":\"@currencyFrom\",\"currencyTo\":\"@currencyTo\",\"type\":\"SELL\",\"amountInfo\": {\"amount\":@amountInfo,\"scale\":2}}"
currencyFrom = ['USD', 'GBP']
currencyTo = ['EUR', 'CHF']
amountInfo = 50000
payload = payload.replace('@currencyFrom', currencyFrom).replace('@currencyTo', currencyTo).replace('@amountInfo', amountInfo)
for currFrom in currencyFrom:
for currTo in currencyTo:
for amount in amountInfo:
payload = payload.replace('@currencyFrom', currFrom ).replace('@currencyTo', currTo ).replace('@amountInfo', amount )
response = requests.request("POST", url, data=payload, headers=headers)希望这有意义!
编辑:根据您的注释更新代码。
https://stackoverflow.com/questions/67519203
复制相似问题