我怎样才能找到身份证?

时间:2019-02-08 14:15:53

标签: python-3.x

我刚刚开始在python中使用电报API,电报将此返回给我

{'ok': True, 'result': [{'update_id': 565003056, 'message': {'message_id': 3, 'from': {'id': 137505406, 'is_bot': False, 'first_name': 'Taha', 'username': 'thkh1998', 'language_code': 'fa'}, 'chat': {'id': 137505406, 'first_name': 'Taha', 'username': 'thkh1998', 'type': 'private'}, 'date': 1549632520, 'text': '/start', 'entities': [{'offset': 0, 'length': 6, 'type': 'bot_command'}]}}]}

因为它在这里,所以我在输出上使用了.json(),所以这是我的问题,我无法到达ID 137505406

我尝试使用answer['result']['chat']['id']来达到目标​​,但是遇到了这个错误:

TypeError: list indices must be integers or slices, not str

1 个答案:

答案 0 :(得分:1)

对于像这样的深层嵌套结构,如果您在交互式Python shell中逐步使用它,它将很有帮助。

将您的响应分配给变量,然后慢慢地朝着期望的值工作。

>>> json = {'ok': True, 'result': [{'update_id': 565003056, 'message': {'message_id': 3, 'from': {'id': 137505406, 'is_bot': False, 'first_name': 'Taha', 'username': 'thkh1998', 'language_code': 'fa'}, 'chat': {'id': 137505406, 'first_name': 'Taha', 'username': 'thkh1998', 'type': 'private'}, 'date': 1549632520, 'text': '/start', 'entities': [{'offset': 0, 'length': 6, 'type': 'bot_command'}]}}]}
>>> json['result']
[{'update_id': 565003056, 'message': {'message_id': 3, 'from': {'id': 137505406, 'is_bot': False, 'first_name': 'Taha', 'username': 'thkh1998', 'language_code': 'fa'}, 'chat': {'id': 137505406, 'first_name': 'Taha', 'username': 'thkh1998', 'type': 'private'}, 'date': 1549632520, 'text': '/start', 'entities': [{'offset': 0, 'length': 6, 'type': 'bot_command'}]}}]
>>> json['result'][0]
{'update_id': 565003056, 'message': {'message_id': 3, 'from': {'id': 137505406, 'is_bot': False, 'first_name': 'Taha', 'username': 'thkh1998', 'language_code': 'fa'}, 'chat': {'id': 137505406, 'first_name': 'Taha', 'username': 'thkh1998', 'type': 'private'}, 'date': 1549632520, 'text': '/start', 'entities': [{'offset': 0, 'length': 6, 'type': 'bot_command'}]}}
>>> json['result'][0]['message']
{'message_id': 3, 'from': {'id': 137505406, 'is_bot': False, 'first_name': 'Taha', 'username': 'thkh1998', 'language_code': 'fa'}, 'chat': {'id': 137505406, 'first_name': 'Taha', 'username': 'thkh1998', 'type': 'private'}, 'date': 1549632520, 'text': '/start', 'entities': [{'offset': 0, 'length': 6, 'type': 'bot_command'}]}
>>> json['result'][0]['message']['chat']
{'id': 137505406, 'first_name': 'Taha', 'username': 'thkh1998', 'type': 'private'}
>>> json['result'][0]['message']['chat']['id']
137505406

在提供的代码中缺少两个嵌套级别。您需要

answer['result'][0]['message']['chat']['id']