解析python内部的变量



我试图在将其加载到json并触发post请求之前将变量包含在字符串格式中。

import json
def addRecord(TransactionID, Date, Status, Reference):
data =  """
{
"fields":{
"TransactionID": TransactionID,
"Date": Date,
"Status": Status,
"Reference": Reference
}
}"""
data = json.loads(data)

右边是传递给函数的变量

我得到一个错误,我没有在json中发送任何值

(env) myusername@mylaptop:/mnt/c/Users/myuser/projects/scripts/myproject$ python3 main.py
{
"fields":{
"TransactionID": TransactionID,
"Date": Date,
"Status": Status,
"Reference": Reference
}
}
Traceback (most recent call last):
File "/mnt/c/Users/yalat/projects/scripts/apiCall/main.py", line 33, in <module>
print(addRecord(5123, 20211009, "added", 12))
File "/mnt/c/Users/yalat/projects/scripts/apiCall/main.py", line 29, in addRecord
data = json.loads(data)
File "/usr/lib/python3.9/json/__init__.py", line 346, in loads
return _default_decoder.decode(s)
File "/usr/lib/python3.9/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/lib/python3.9/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 4 column 34 (char 67)

使用f-string。它提供了一种将表达式嵌入字符串

的方法。
data =  f"""
{
"fields":{
"TransactionID": {TransactionID},
"Date": {Date},
"Status": {Status},
"Reference": {Reference}
}
}"""
data = json.loads(data)

最新更新