gpt4 book ai didi

Python json.load JSONDecodeError : Extra data error when trying load multiple json dictionaries

转载 作者:行者123 更新时间:2023-12-04 07:13:11 25 4
gpt4 key购买 nike

所以我必须以如下所示的相同格式导入一个 json 文件:

{
"name": "bob"
}
{
"name": "sarah"
}
这是我试图用来打开它的函数:
def read_json_file(file):
with open(file, "r") as r:
response = json.load(r)
return response
尝试加载时出现此错误:

json.decoder.JSONDecodeError: Extra data: line 4 column 1 (char 22)


由于文件很大,我无法修复 json 数据。我需要一种方法来解决它来解析每个字典。
当问到这个问题时,我已经尝试过该方法:
Python json.loads shows ValueError: Extra data
我尝试更改我的函数以匹配最佳答案:
    response = json.dumps(r)
然而,这带来了这个错误:

TypeError: Object of type TextIOWrapper is not JSON serializable


任何帮助将不胜感激。

最佳答案

为了解决那种“多个”/“无效”JSON,您可以读取整个文件,添加这些括号[]封装字符串,然后使用 json.loads() 将其加载为字符串.

  • 将整个文件作为字符串读取,并将其存储到变量中。
  • 删除所有出现的换行符和空格。
  • 添加逗号 ,路口}{ ,所以它会是 ...},{... .
  • 用括号将其封装 [] .
  • 使用 json.loads()解析 JSON 字符串。

  • 完整代码:
    def read_json_file(file):
    with open(file, "r") as r:
    response = r.read()
    response = response.replace('\n', '')
    response = response.replace('}{', '},{')
    response = "[" + response + "]"
    return json.loads(response)

    关于Python json.load JSONDecodeError : Extra data error when trying load multiple json dictionaries,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68941611/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com