将字典值的特定部分存储到字符串中
Storing a specific part of a dict value into a string
import requests
import json
url = "********"
payload = json.dumps({
"username": "*****",
"password": "*****"
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
#*** Convert response into a dictionary ***
r = json.loads(response.text)
# *** print the value of they key 'accessToken'
bearerToken = r['accessToken']
print(bearerToken)
输出
{'accessToken': 'e************************************', 'tokenType': 'Bearer'}
我想达到什么目的?
仅获取 'accessToken' 之后的审查代码,并将新的访问令牌存储在字符串中以在 HTTP 请求中使用它。
注意:'accessToken' 是另一个名为 accessToken 的密钥的值。所以打印键值的传统方法已经用在上面的输出中了。
完整输出:
{
"accessToken" : {
"accessToken" : "e******************",
"tokenType" : "Bearer"
},
"refreshToken" : {
"id" : "6*************",
"lastAccessedTime" : 1***********,
"refreshToken" : "e*************"
}
}
在Python中,您可以使用子字符串来完成您想要的。如果前缀的长度是常数,那么你需要做的就是使用一个具有常数索引的切片,
在您的示例中,看起来您有一个 accessToken 键,并且在该键内是另一个字典,其中包含一个可以在条目之间更改的键。假设你想要在 accessToken 中 e 之后的审查部分,你可以使用:
bearerToken = r['accessToken'][accessToken][1:]
这将为您提供访问令牌“******************”,这是从索引 1 开始的所有内容。如果你只想要整个字符串,你可以省略 [1:] 部分。
解决方法是编辑yeeshue99提供的代码,将第2个值修改为'accessToken'带''标记。 [1:] 也不需要。
解决方案
bearerToken = r['accessToken']['accessToken']
import requests
import json
url = "********"
payload = json.dumps({
"username": "*****",
"password": "*****"
})
headers = {
'Content-Type': 'application/json'
}
response = requests.request("POST", url, headers=headers, data=payload)
#*** Convert response into a dictionary ***
r = json.loads(response.text)
# *** print the value of they key 'accessToken'
bearerToken = r['accessToken']
print(bearerToken)
输出
{'accessToken': 'e************************************', 'tokenType': 'Bearer'}
我想达到什么目的?
仅获取 'accessToken' 之后的审查代码,并将新的访问令牌存储在字符串中以在 HTTP 请求中使用它。
注意:'accessToken' 是另一个名为 accessToken 的密钥的值。所以打印键值的传统方法已经用在上面的输出中了。
完整输出:
{
"accessToken" : {
"accessToken" : "e******************",
"tokenType" : "Bearer"
},
"refreshToken" : {
"id" : "6*************",
"lastAccessedTime" : 1***********,
"refreshToken" : "e*************"
}
}
在Python中,您可以使用子字符串来完成您想要的。如果前缀的长度是常数,那么你需要做的就是使用一个具有常数索引的切片,
在您的示例中,看起来您有一个 accessToken 键,并且在该键内是另一个字典,其中包含一个可以在条目之间更改的键。假设你想要在 accessToken 中 e 之后的审查部分,你可以使用:
bearerToken = r['accessToken'][accessToken][1:]
这将为您提供访问令牌“******************”,这是从索引 1 开始的所有内容。如果你只想要整个字符串,你可以省略 [1:] 部分。
解决方法是编辑yeeshue99提供的代码,将第2个值修改为'accessToken'带''标记。 [1:] 也不需要。
解决方案
bearerToken = r['accessToken']['accessToken']