【问题标题】:JSON decode error while loading of json files加载 json 文件时出现 JSON 解码错误
【发布时间】:2020-07-09 06:30:44
【问题描述】:

json 模块没有加载 json 文件。我已经提供了 json 文件的正确路径,我只是在加载文件并尝试打印它,但它只是显示此错误,我无法找到解决方法。

import json
f = open('test.json', 'r')
json.load(f)
f.close()

错误输出是:

Traceback (most recent call last):
  File "C:/Users/DELL/PycharmProjects/helloworld/Data_project/Sort_user.py", line 10, in <module>
    json.load(f)
  File "C:\Program Files\Python37\lib\json\__init__.py", line 296, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "C:\Program Files\Python37\lib\json\__init__.py", line 348, in loads
    return _default_decoder.decode(s)
  File "C:\Program Files\Python37\lib\json\decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Program Files\Python37\lib\json\decoder.py", line 353, in raw_decode
    obj, end = self.scan_once(s, idx)
json.decoder.JSONDecodeError: Expecting property name enclosed in double quotes: line 1 column 2 (char 1)

该文件以 { 开头,并以 '' 表示值。它具有多个值且大小很大。

虚拟类型: {'abc': 'abc', 'abc': 2, 'abc': 123123, 'abc': 21, 'abc': 'abc', 'abc': 'abc'} 像这样更多的行

【问题讨论】:

  • 你能把json文件粘贴到某个地方吗?
  • 您需要包含 json 文件内容以获得精确的解决方案。
  • 您的文件似乎以{ 开头。在 JSON 中,下一个预期的非空白字符是 "}。您的文件不遵循此规则,无法解析为 JSON。
  • 编辑问题,不要添加为评论!

标签: python json


【解决方案1】:

json.load 需要为属性名称添加双引号,例如:

[{"name":"John Doe","value":1},{"name":"John Snow","value":2}]

另外,确保所有布尔值 (TRUE, FALSE) 都是小写的 (true, false)

您也应该检查以下内容:

Expecting double quotes - 1

Expecting double quotes - 2

重要的是:single-vs-double-quotes-in-json

【讨论】:

  • 我的数据有“ ”所以这是问题吗?
  • 是的。使用'表示文件不是 json - 请参阅提供的链接stackoverflow.com/questions/4162642/…
  • @NikhilTiwari 是的,这就是问题所在。请参阅答案中提供的最后一个链接或巴尼分享的链接。
猜你喜欢
  • 1970-01-01
  • 2021-08-14
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-07-22
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多