如何通过symbol参数从API响应中获取指定minTradeQuantity
问题
我是编程新手,想写一个Python函数,传入symbol参数后返回对应的minTradeQuantity值。现在的函数能获取API响应的整个result数组,但如果直接取['result'][0]['minTradeQuantity']只能拿到第一个对象的数值,请问怎么通过symbol匹配name字段来筛选出对应的值?
当前函数代码:
def get_exchange_minqtyize(symbol): return session_auth.query_symbol()['result']
API返回的完整JSON响应:
{ "ret_code": 0, "ret_msg": "", "ext_code": null, "ext_info": null, "result": [ { "name": "BTCUSDT", "alias": "BTCUSDT", "baseCurrency": "BTC", "quoteCurrency": "USDT", "basePrecision": "0.000001", "quotePrecision": "0.01", "minTradeQuantity": "0.0001", "minTradeAmount": "10", "minPricePrecision": "0.01", "maxTradeQuantity": "2", "maxTradeAmount": "200", "category": 1, "innovation": false, "showStatus": true }, { "name": "ETHUSDT", "alias": "ETHUSDT", "baseCurrency": "ETH", "quoteCurrency": "USDT", "basePrecision": "0.0001", "quotePrecision": "0.01", "minTradeQuantity": "0.0001", "minTradeAmount": "10", "minPricePrecision": "0.01", "maxTradeQuantity": "2", "maxTradeAmount": "200", "category": 1, "innovation": false, "showStatus": true } ] }
解决方案
你可以遍历result数组里的每一个对象,检查对象的name字段是否和传入的symbol匹配,匹配成功就返回对应的minTradeQuantity。如果遍历完都没找到,可以返回一个默认值(比如None)或者抛出异常,根据你的需求调整。
修改后的函数代码:
def get_exchange_minqtyize(symbol): # 获取API返回的结果数组 symbols_data = session_auth.query_symbol()['result'] # 遍历数组中的每个交易对信息 for item in symbols_data: # 匹配name字段与传入的symbol if item['name'] == symbol: # 返回对应的最小交易数量 return item['minTradeQuantity'] # 如果没找到匹配的symbol,返回None(或根据需求抛出异常) return None
补充说明
- 若需要频繁查询,建议把API返回的数据缓存起来,避免每次调用都发起API请求,提升执行效率。
- 注意返回的
minTradeQuantity是字符串类型,如果需要数值类型(比如float),可以用float(item['minTradeQuantity'])做类型转换。
内容的提问来源于stack exchange,提问作者rusty_research
相关产品推荐
相关产品推荐

