我的回应之一,
{
"password": [
"Ensure that this field has atleast 5 and atmost 50 characters"
]
}
我正在尝试获取密码中的字符串。如何获取它。
下面是我正在尝试的代码
key = json.loads(response['password'])
print(key[0]),
但是它说“字符串索引必须是整数,而不是str”
答案 0 :(得分:5)
错误消息是正确的。
key = json.loads(response['password'])
print(key[0]),
json
的格式为字符串。您需要先将json对象的字符串转换为python dict,然后才能访问它。
即:loads(string)
之前的info[key]
key = json.loads(response)['password']
print(key[0])
答案 1 :(得分:1)
通常json是一个字符串,您将尝试将其反序列化为对象图(在python中通常由映射和数组组成)。
因此,假设您的响应实际上是一个字符串(例如,从HTTP请求/端点检索到的字符串),则可以使用json.loads反序列化它(该函数基本上是从字符串加载的),然后得到一个带有“密码”键,它是一个数组,因此请从中获取第一个元素。
import json
resp = '{ "password": [ "Ensure that this field has atleast 5 and atmost 50 characters" ] }'
print json.loads(resp)['password'][0]