如何将包含多组JSON对象的文件转换为Python可使用的列表
问题原因
你使用的文件不属于标准JSON格式,是**JSON Lines(逐行JSON)**格式:每一行单独对应一个合法JSON对象,整个文件没有用方括号包裹所有对象,也没有用逗号分隔不同对象。直接调用json.load()加载整个文件时,解析完第一行JSON后会识别到剩余未解析的内容,就会抛出Extra data错误。
解决方法
改为逐行读取文件,对每一行单独做JSON解析后存入列表即可,代码如下:
import json data = [] # 增加encoding参数避免不同系统环境下的编码报错 with open("brands.json", "r", encoding="utf-8") as f: for line in f: # 去除首尾空白,跳过空行 line = line.strip() if not line: continue # 逐行解析JSON item = json.loads(line) data.append(item) print(data)
这种逐行读取的方式也适合大体积的JSON Lines文件,不会一次性占用过高内存。
内容的提问来源于stack exchange,提问作者malaba
相关产品推荐
相关产品推荐

