如何解决在python中访问JSON响应中的键值while循环
如果另一个订单已成交,我正在尝试取消币安的订单。
连接是带有独角兽库的 websocket
在 while 循环中,侦听器等待填充订单的响应
我正在尝试检查已成交的订单类型,然后取消反对的订单。
取消本身有效,但我无法访问条件 'c' 中的值 'STOP'
def print_stream_data_from_stream_buffer(binance_websocket_api_manager):
while True:
if binance_websocket_api_manager.is_manager_stopping():
exit(0)
oldest_stream_data_from_stream_buffer = binance_websocket_api_manager.pop_stream_data_from_stream_buffer()
if oldest_stream_data_from_stream_buffer is False:
time.sleep(0.01)
else:
if oldest_stream_data_from_stream_buffer['o']['c'] == 'STOP':
exchange.cancel_order(orders[1]['id'],'BCH/USDT')
这是来自已填写订单的 JSON 响应:
{'E': 1617807091189,'T': 1617807091187,'e': 'ORDER_TradE_UPDATE','o': {'L': '0','R': False,'S': 'BUY','X': 'NEW','a': '0','ap': '0','b': '0','c': 'STOP','cp': False,'f': 'GTC','i': 471573385,'l': '0','m': False,'o': 'MARKET','ot': 'STOP_MARKET','p': '0','pP': False,'ps': 'BOTH','q': '1','rp': '0','s': 'BCHUSDT','si': 0,'sp': '629.68','ss': 0,'t': 0,'wt': 'CONTRACT_PRICE','x': 'NEW','z': '0'}}
我得到一个 KeyError: 'o'
我做错了什么?
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。