我怎样才能到达ID?

问题描述 投票:-4回答:1

我刚开始在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
python-3.x
1个回答
1
投票

对于这样一个深度嵌套的结构,它可以帮助,如果你用它工作在一个交互式的Python壳牌迈一步。

分配给一个变量您回应并慢慢地向理想值你的工作方式。

>>> 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']
© www.soinside.com 2019 - 2024. All rights reserved.