我尝试从中解析json:
{
"lastUpdateId": 78772216,
"bids": [
[
"0.00000421",
"133090.00000000"
],
[
"0.00000420",
"345637.00000000"
],
[
"0.00000419",
"84680.00000000"
],
[
"0.00000418",
"127899.00000000"
],
[
"0.00000417",
"175359.00000000"
]
],
"asks": [
[
"0.00000422",
"324731.00000000"
],
[
"0.00000423",
"323497.00000000"
],
[
"0.00000424",
"86010.00000000"
],
[
"0.00000425",
"207321.00000000"
],
[
"0.00000426",
"161378.00000000"
]
]
}
但总是有一些问题。
我尝试:
from binance.client import Client
import json
api_key = "..."
api_secret = "..."
client = Client(api_key, api_secret)
depth = client.get_order_book(symbol='QKCBTC', limit=5)
file = json.dumps(depth, indent=2)
for i in file["asks"]:
print(i[1])
我尝试转储,加载,加载,而不是“转储”。
错误:
转储-TypeError:字符串索引必须为整数;
loads-引发TypeError(f'JSON对象必须为str,字节或字节数组,'TypeError:JSON对象必须为str,字节或字节数组,而不是dict;
load-AttributeError:“ dict”对象没有属性“ read”;
dump-TypeError:dump()缺少1个必需的位置参数:'fp';
感谢解决方案。
答案 0 :(得分:0)
json.dumps()
是一个将dict
对象转换为JSON字符串并返回的函数,因此它返回一个字符串对象。
现在有两种情况,
如果client.get_order_book()
返回一个dict,那么您不需要对数据做任何事情,就可以遍历asks
如果client.get_order_book()
返回json字符串,则只需使用dict
将其解析为json.loads()
。