【问题标题】:How to deal with this error?json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)如何处理这个错误?json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)
【发布时间】:2018-05-24 02:36:38
【问题描述】:

我查看了许多具有相同错误的类似问题,但似乎找不到解决方案。有人可以引导我找到解决方案吗? 我在执行代码时遇到了这个错误...错误如下:

raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

这是我的代码:

IMAGEDATA = json.loads(open("imagedata.json",'r').read())

JSON文件如下:

["-533479225","1190868050","-858804567","-478770949","34712964","-880781543","867322169","991305586","-316899420"]

整个堆栈跟踪是:

File "C:\Users\britl\source\repos\FLASHBOT\FLASHBOT\Nike\nikesensor.py", line 9, in <module>
    IMAGEDATA = json.load(open("imagedata.json",'r')).read()
  File "C:\Users\britl\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 299, in load
    parse_constant=parse_constant, object_pairs_hook=object_pairs_hook, **kw)
  File "C:\Users\britl\AppData\Local\Programs\Python\Python36\lib\json\__init__.py", line 354, in loads
    return _default_decoder.decode(s)
  File "C:\Users\britl\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 339, in decode
    obj, end = self.raw_decode(s, idx=_w(s, 0).end())
  File "C:\Users\britl\AppData\Local\Programs\Python\Python36\lib\json\decoder.py", line 357, in raw_decode
    raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 1 column 1 (char 0)

【问题讨论】:

  • 试试print(open("imagedata.json",'r').read())看看你发现了什么。看起来 json.loads() 抱怨你传递了一个 None 值。
  • open("imagedata.json",'r').read() 几乎可以肯定没有返回任何数据,json.loads() 预计会收到有效的 JSON。
  • @MichaelR 我刚刚尝试过,它确实打印了我的 json 文件,然后继续执行我的其余代码。那么我该如何解决它,使其不是无?
  • 如果是这样,那么 json.loads() 不应抛出该错误。试试这个,让我知道你得到了什么print(open("imagedata.json",'r').read()) jsondata = open("imagedata.json",'r').read() IMAGEDATA = json.loads(jsondata) 编辑:发布作为格式化的答案。
  • @MichaelR 运行了它,它让我回到了我的第一个错误

标签: json python-3.x


【解决方案1】:

试试这个,看看它是否会引导你解决手头的问题。似乎 json.loads() 以某种方式接收到 None 值。

import json

jsondata = open("imagedata.json",'r').read() 
print(jsondata) 
IMAGEDATA = json.loads(jsondata)
print(IMAGEDATA)

here's a repl.it - 将imagedata.json 设为空,您会看到同样的错误。

【讨论】:

  • repl.it 打印两个空的
猜你喜欢
  • 2021-06-11
  • 2020-12-04
  • 1970-01-01
  • 1970-01-01
  • 2018-11-12
  • 2020-09-05
  • 1970-01-01
  • 1970-01-01
  • 2023-02-21
相关资源
最近更新 更多