如何在python中用值替换json中的变量?
在上面的脚本中,我创建了一个UUID,并将其分配给变量如何在python中用值替换json中的变量?,python,json,Python,Json,在上面的脚本中,我创建了一个UUID,并将其分配给变量random\UUID。我希望创建的UUID在json中被替换为键id的值random\u UUID。但是,上面的脚本并没有替换random\u uuid的值,而是使用变量random\u uuid本身 谁能告诉我我做错了什么 提前感谢。您可以使用字符串格式 在JSON字符串中,将random_uuid替换为%s,然后执行以下操作: #!/usr/bin/python import requests import uuid random_u
random\UUID
。我希望创建的UUID在json中被替换为键id
的值random\u UUID
。但是,上面的脚本并没有替换random\u uuid
的值,而是使用变量random\u uuid
本身
谁能告诉我我做错了什么
提前感谢。您可以使用字符串格式 在JSON字符串中,将random_uuid替换为%s,然后执行以下操作:
#!/usr/bin/python
import requests
import uuid
random_uuid = uuid.uuid4()
print random_uuid
url = "http://192.168.54.214:8080/credential-store/domain/_/createCredentials"
payload = '''json={
"": "0",
"credentials": {
"scope": "GLOBAL",
"id": "random_uuid",
"username": "testuser3",
"password": "bar",
"description": "biz",
"$class": "com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl"
}
}'''
headers = {
'content-type': "application/x-www-form-urlencoded",
}
response = requests.request("POST", url, data=payload, headers=headers)
print(response.text)
另一个选项是使用json.dumps
创建json:
payload = payload % random_uuid
此代码可能会有所帮助
payload_dict = {
'id': random_uuid,
...
}
payload = json.dumps(payload_dict)
改用
str.format
:
#!/usr/bin/python
import requests
import uuid
random_uuid = uuid.uuid4()
print random_uuid
url = "http://192.168.54.214:8080/credential-store/domain/_/createCredentials"
payload = '''json={
"": "0",
"credentials": {
"scope": "GLOBAL",
"id": "%s",
"username": "testuser3",
"password": "bar",
"description": "biz",
"$class": "com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl"
}
}''' % random_uuid
headers = {
'content-type': "application/x-www-form-urlencoded",
}
print payload
print(response.text)
您可以使用直接JSON输入到
dict
:
有效载荷={
"": "0",
“全权证书”:{
“范围”:“全球”,
“id”:随机的,
“用户名”:“testuser3”,
“密码”:“栏”,
“描述”:“商业”,
“$class”:“com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl”
}
}
payload = '''json={
"": "0",
"credentials": {
"scope": "GLOBAL",
"id": "{0}",
"username": "testuser3",
"password": "bar",
"description": "biz",
"$class": "com.cloudbees.plugins.credentials.impl.UsernamePasswordCredentialsImpl"
}
}'''.format(random_uuid)