我在调用百度智能云识别验证码接口时,百度那边返回了一组字典,如图:
{'words_result': [{'words': '82wy}], 'words_result_num': 1, 'log_id': 1546525248296055607}
我想要将“82wy”这个验证码的值取出来该怎么做
dic = {'words_result': [{'words': '82wy'}], 'words_result_num': 1, 'log_id': 1546525248296055607}
print(dic['words_result'][0]['words'] )
如果获取的是json字符串要用json.loads(jsonstr)转成字典再取dic['words_result'][0]['words']
import json
jsonstr = '{"words_result": [{"words": "82wy"}], "words_result_num": 1, "log_id": 1546525248296055607}'
dic = json.loads(jsonstr)
print(dic['words_result'][0]['words'] )
如有帮助,请点击我的回答下方的【采纳该答案】按钮帮忙采纳下,谢谢!
text = """{'words_result': [{'words': '82wy'}], 'words_result_num': 1, 'log_id': 1546525248296055607}"""
res = {'words_result': [{'words': '82wy'}], 'words_result_num': 1, 'log_id': 1546525248296055607}
target1 = eval(text)['words_result'][0]['words']
target2 = res['words_result'][0]['words']
print("字符串:", target1)
print("字典:", target1)
这种复杂的结构依次从上层开始取值就好。这种返回值现在一般称为json类型数据。
python有专门解析json的库。
不过你给的例子中数据是不完整的,因为缺了一些符号,比如82wy
后面缺了个单引号的。
如果是完整的,且假定已经赋值给aJSONDATA这个变量,则要获得该值的变量表达式就是:
aJSONDATA['words_result'][0]['words']
这就是个简单的根据字典提值问题,先取出words_result,然后取出值列表的第一个元素,也是字典在索引就好了