将JSON数据从API转换成Python中更可用的东西的问题



所以我正在尝试制作一个程序,将这种数据转换成类似字典或某种小型数据库的东西,我可以玩。如果我这样做:

response = requests.get(url_final).json()
print(response)

我得到一个巨大的,未格式化的列表。

当我这样做

response = requests.get(url_final).json()
for item in response:
print(item)

列表被分成200个字典,当我用另一个for循环遍历它们时,它们只显示'buy'和'sell'字符串。我使用的唯一模块是"请求"。我对编程真的很陌生,不知道如何处理这类问题。如果你能帮忙的话,我会很感激的。

谢谢你:)

大家好,欢迎来到堆栈溢出!

问题与"in"的含义有关。

正如您所提到的,响应是一个列表。for x in list遍历列表中的每一项。然而,item是一本字典。当你迭代字典时,你只会得到键。考虑这个例子:

obj = { 'a': 0, 'b': 1, 'c': 3 }
for item in obj:
print(item)

它将打印出:

a
b
c

这就是发生在你身上的事。要解决这个问题,你有几个选择。也许最简单的是这样的:

response = requests.get(url).json()
for item in response:
for key in item:
print(f'{key} -> {item[key]}')

在这里,我们访问了键所指向的值。

另一个选项是:

response = requests.get(url).json()
for item in response:
for key, val in item.items():
print(f'{key} -> {val}')

字典有一个特殊的items()函数,它返回字典项的列表

最新更新