如何在python中用值替换json中的变量?

如何在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

在上面的脚本中,我创建了一个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_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)