不熟悉JSON和Python。我成功地调用并可以使用类似的方法获得输出
def lendbook(currency='xtl'): #GET /lendbook/:currency
r = requests.get(URL + "/lendbook/" + currency, verify=False)
rep = r.json()
return rep
print lendbook()
这些数据打印出来很好,但对于新手来说确实是一笔糊涂账。下面是Python控制台的示例
^{pr2}$显然,我想格式化日期,事实上只在速率和周期之后。我应该使用什么样的字典循环结构,因为当我使用for循环时,我似乎只返回单词“bids”和“asks”。显然字典里还有另一个结构我不懂?在
非常感谢您的帮助,因为我了解了JSON和Python字典
使用type()打印数据的类型。这样您就可以知道json中的数据类型,并逐步处理它。在
当您遍历字典时,只使用基本的
for
循环遍历它的keys
。在将其更改为
for key, value in dict.iteritems():
。在似乎您得到的JSON对象包含对象(列表)(即,“bids”和“asks”),所以我想您可能很困惑为什么不访问这些值。 我建议你先弄一个你感兴趣的对象(比如“出价”)
如您所见,“bids”是一个对象列表([]>;>表示)。现在可以迭代。在
^{pr2}$你可以得到这样的值
我建议您创建名为Bids、Asks的类,并在JSON对象中返回您知道的任何其他对象类型。然后您可以访问该对象(rep['theObject'])并创建Bids实例(将json对象传递给它并获取一个实例),这将使您免于所有这些,因为获取对象的逻辑将在类本身中进行。我想说的是更好的设计。在
另外(假设你想坚持这种方法),如果你不想硬编码,假设你想写一个独立于JSON中返回内容的代码。在这种情况下,您可以迭代返回的Dict('rep'),对于迭代中得到的每个对象,检查类型,如果它是Dict本身,则对其执行相同的操作(Iterator over the keys),或者如果它是一个列表,则像我提到的那样进行迭代,否则通过键访问值。在
希望这有帮助!在
相关问题 更多 >
编程相关推荐