Python中Json编码器应为值错误

Python中Json编码器应为值错误,python,json,api,github,Python,Json,Api,Github,我有一个350mb的大Json文件,我想从中提取项目。我使用的代码是: with open("commitsJson3.json","r", encoding="utf-8-sig") as json_file: data = json.load(json_file) for elem in data['items']: for e in elem['commit']: if 'message' in e: print(elem['comm

我有一个350mb的大Json文件,我想从中提取项目。我使用的代码是:

with open("commitsJson3.json","r", encoding="utf-8-sig") as json_file:
    data = json.load(json_file)


for elem in data['items']:
    for e in elem['commit']:
       if 'message' in e:
           print(elem['commit'][e])
我得到的错误是:

json.decoder.JSONDecodeError:期望值:第1行第2180列(char 2179)

我去了具体的专栏和行,但我没有看到任何问题。我试图通过一些在线验证器验证我的json,但它崩溃了,因为它太大了。我可以给你看一些样品,但它太大了,我希望你能理解


{“总计数”:3,“不完整的结果”:“假”,“项目”:c“站点管理”:假},“提交者”:{“登录”:“acosdding”,“id”:1539,“节点id”:“ASJKDHASAD”,“头像url”:“?”,“gravatar_id”:“url”:“html_url”:“关注者url”:“后续url”:“{/other_user}”,“gists_url”:“{/gist_id}”,“started_url”:“{/owner},{/repo}”,“订阅\u url:”、“组织\u url:”、“回复\u url:”、“事件\u url:“{/隐私}”、“收到的\u事件\u url:”、“类型”:“用户”


如果Json文件是一个如此大的文件,那么理解它是否存在如何验证的问题,任何帮助都将不胜感激


谢谢。

据我所知,你提供的样品格式不太好,如果我尝试的话 仅解码第一部分:

my_json = '{"total_count": 3, "incomplete_results": "False", "items": c "site_admin": False}'
我试着分析它,我得到:

import json

json.loads(my_json, encoding='utf-8-sig')

>>> JSONDecodeError: Expecting value: line 1 column 60 (char 59)
这是指
c
缺少引号,如果我修复了这个问题:

my_json = '{"total_count": 3, "incomplete_results": "False", "items": "c" "site_admin": False}'
print(json.loads(my_json, encoding='utf-8-sig'))

>>> JSONDecodeError: Expecting ',' delimiter: line 1 column 64 (char 63)
这是指
项后缺少的
项。修复此项后:

my_json = '{"total_count": 3, "incomplete_results": "False", "items": "c", "site_admin": False}'
print(json.loads(my_json, encoding='utf-8-sig'))

>>> JSONDecodeError: Expecting value: line 1 column 79 (char 78)
这是指最后一个
False
。可以通过使用
False
“False”
来修复,具体取决于您希望处理的类型。 但鉴于您的第一个False被视为字符串:

my_json = '{"total_count": 3, "incomplete_results": "False", "items": "c", "site_admin": "False"}'
print(json.loads(my_json, encoding='utf-8-sig'))

>>> {'items': 'c', 'total_count': 3, 'site_admin': 'False', 'incomplete_results': 'False'}

最后,它可以工作了

如果我给你一个json摘录,它只会转到第1111列,你能分享完整的json文件吗,或者至少是一个超出
第1行第2180列(char 2179)的摘录
我可以分享。你想让我通过电子邮件或短信发送给你吗?它是350mb@lee-pai long您希望我将其发送到哪里?350mb不会传递给大多数电子邮件提供商,您能否尝试查看错误指示列的摘录是否可以小于50mb并使用?@lee pai long这里是Bro我的文件与来源不同所有一个。单引号。我应该尝试另一种方法使其双引号。但我不能这样做smh…那么我认为你应该打开另一个问题,因为这个问题已经解决了,如果不更详细地描述原始文件是什么,以及如何修改它,就很难理解发生了什么