【发布时间】:2022-01-21 02:30:59
【问题描述】:
我正在关注一本书并学习python,并且我有以下代码:
import json
with open("books.json", "rt") as file:
books = json.load(file)
print(books)
print(type(books))
可以在此处找到 JSON 文件:
根据本书,我的代码应该打印类型<class 'dict'>,但打印的是<class 'list'>
你知道这是为什么吗?这是这种情况下的预期行为吗?谢谢。我测试了文件中只有一个字典,而不是 2 个,并且仍然获得 LIST 类型。
编辑:使用 python 3.9.4
【问题讨论】:
-
数据是一个列表,因为它包含在
[]中。不过,此列表中有多个 dicts。 -
load返回从文件中解码的任何内容。并非每个 JSON 值都是对象。 -
即使只是
[]也是一个列表——里面有多少东西并不重要,所以从一个包含两件事的列表到一个包含一件事的列表没有区别。跨度> -
不幸的是,Packt 在我的圈子中并不以拥有好的内容而闻名。今年早些时候我买了他们不起眼的包裹,并被告知要对他们所说的很多话持保留态度。