如何正确格式化此API调用?

时间:2018-08-25 18:20:22

标签: python json telegram-bot python-telegram-bot

我正在制作电报聊天机器人,无法弄清楚如何从输出中取出[{'

def tether(bot, update):
    tetherCall = "https://api.omniexplorer.info/v1/property/31"
    tetherCallJson = requests.get(tetherCall).json()
    tetherOut = tetherCallJson ['issuances'][:1]
    update.message.reply_text("Last printed tether:  " + str (tetherOut)+" Please take TXID and past it in this block explorer to see more info: https://www.omniexplorer.info/search")

我的用户将看到以下消息:[{'grant': '25000000.00000000', 'txid': 'f307bdf50d90c92278265cd92819c787070d6652ae3c8af46fa6a96278589b03'}]

1 个答案:

答案 0 :(得分:1)

这看起来像一个列表,里面只有一个字典:

[{'grant': '25000000.00000000',
  'txid': 'f307bdf50d90c92278265cd92819c787070d6652ae3c8af46fa6a96278589b03'}]

通过使用[0]为列表建立索引,您应该能够访问字典。

tetherOut[0]
# {'grant': '25000000.00000000',
#  'txid': 'f307bdf50d90c92278265cd92819c787070d6652ae3c8af46fa6a96278589b03'}

...如果您想从字典中获取特定值,则可以按其名称进行索引,例如

tetherOut[0]['txid']
# 'f307bdf50d90c92278265cd92819c787070d6652ae3c8af46fa6a96278589b03'

但是,请小心链接这些东西。如果tetherOut为空列表,则tetherOut[0]将生成一个IndexError。您可能想抓住它(以及无效的dict密钥将生成的KeyError)。