我正在尝试创建一个JSON字符串,该字符串可以在PUT请求中发送但可以动态构建。例如,完成后,我希望字符串看起来像这样:
{
"request-id": 1045058,
"db-connections":
[
{
"db-name":"Sales",
"table-name":"customer"
}
]
}
我想对键使用常量,例如对于request-id
,我想使用CONST_REQUEST_ID
。因此,键将是
CONST_REQUEST_ID = "request-id"
CONST_DB_CONNECTIONS = "db_connections"
CONST_DB_NAME = "db-name"
CONST_TABLE_NAME = "table-name"
键的值将从各种变量中获取。例如,我们可以从名为dbname
的变量中获取值为“ Sales”的值“ Sales”。
我尝试了json.load并获取异常。 请帮忙,因为我对Python有点陌生。
答案 0 :(得分:1)
创建一个普通的python字典,然后将其转换为JSON。
raw_data = {
CONST_DB_NAME: getDbNameValue()
}
# ...
json_data = json.dumps(raw_data)
# Use json_data in your PUT request.
答案 1 :(得分:0)
您可以使用带有变量的+
来连接字符串。
CONST_REQUEST_ID = "request-id"
CONST_DB_CONNECTIONS = "db_connections"
CONST_DB_NAME = "db-name"
CONST_TABLE_NAME = "table-name"
request_id = "1045058"
db_name = "Sales"
table_name = 'customer'
json_string = '{' + \
'"' + CONST_REQUEST_ID + '": ' + request_id \
+ ',' + \
'"db-connections":' \
+ '[' \
+ '{' \
+ '"' + CONST_DB_NAME +'":"' + db_name + '",' \
+ '"' + CONST_TABLE_NAME + '":"' + table_name + '"' \
+ '}' \
+ ']' \
+ '}'
print json_string
这就是结果
python st_ans.py
{"request-id": 1045058,"db-connections":[{"db-name":"Sales","table-name":"customer"}]}