在python中解析JSON时遇到问题

2024-10-03 09:12:32 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图解析来自https://mtgjson.com/json/AllCards.json的一些JSON数据,但我不确定如何处理它的结构化方式。下面是我的代码片段:

cards = json.loads(open("AllCards.json", encoding="utf8").read())
for card in cards:
    print(card)

我希望“card”是一个字典,我可以用它来访问属性,例如“card['name']”。不过,在本例中,所有“card”都是一个包含键值的字符串,因此我无法使用它访问任何嵌套属性。如果我打印“cards”,它会输出整个JSON文档,包括所有嵌套属性。你知道吗

我还尝试使用卡[0]访问它们,但这给了我一个关键错误。你知道吗

很明显我在这里遗漏了什么,但我不知道是什么。你知道吗


Tags: 数据代码httpscomjson属性方式open
1条回答
网友
1楼 · 发布于 2024-10-03 09:12:32

默认情况下,迭代字典将迭代其键。你知道吗

如果您想要这些值,那么应该迭代dict.items()

import json
cards = json.loads(open("AllCards.json", encoding="utf8").read())
for key, value in cards.items():
    print(key, value)

value将包含sub-dict

这和

import json
cards = json.loads(open("AllCards.json", encoding="utf8").read())
for key in cards:
    print(key, cards[key])

如果不关心键,可以直接迭代值:

import json
cards = json.loads(open("AllCards.json", encoding="utf8").read())
for card in cards.values():
    print(card)

相关问题 更多 >