【问题标题】:json: Expecting value: line 1 column 1 (char 0) [closed]json:期望值:第 1 行第 1 列(字符 0)[关闭]
【发布时间】:2021-01-08 09:48:14
【问题描述】:

我有一个 json 文件,我尝试像这样加载:

import json
data = json.loads('test.json')

但它崩溃了:

Traceback (most recent call last):
  File "XXXXXXX.py", line 61, in <module>
    data = json.loads('test.json')
  File "/usr/lib/python3.8/json/__init__.py", line 357, in loads
    return _default_decoder.decode(s)
  File "/usr/lib/python3.8/json/decoder.py", line 337, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "/usr/lib/python3.8/json/decoder.py", line 355, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

当用 vi 打开时,行看起来没问题:

{"922": {"ticket": {"problem": [{"id": ...

有什么想法吗?

【问题讨论】:

标签: python json


【解决方案1】:

json.loads 应该接受 json 字符串而不是文件名。在您的情况下,您需要带有打开文件句柄的 json.load

with open('test.json', 'r') as f:
    data = json.load(f)

在此处阅读文档:https://docs.python.org/3.8/library/json.html#json.loads

【讨论】:

    猜你喜欢
    • 2017-05-09
    • 2013-05-10
    • 2019-02-25
    • 2023-03-25
    • 2018-06-28
    • 2020-11-11
    • 2022-11-15
    • 1970-01-01
    相关资源
    最近更新 更多