在Python中解码内容期间发生JSONDecode错误

时间:2019-06-02 12:05:44

标签: python json python-3.x

我有一堆昨天运行良好的Python脚本。为了将其部署到Web服务器,我将所有脚本提取到一个文件中以使其变得容易。

我正在将Pycharm用于所有处决。在具有文件夹结构的本地计算机执行中,相同的脚本可以正常工作。然后,我将数据提取到一个文件中并更正一些导入语句等。

我收到此错误:

 File "/Users/mac/Documents/local_node_red/EdgeProcessor.py", line 336, in <module>
 myEdge = EdgeProcessor(speed_logging=False, output_format='turtle', debug_mode=False, timing=False)
 File "/Users/mac/Documents/local_node_red/EdgeProcessor.py", line 96, in __init__
 self.row = jsonpickle.loads(requests.get('http://' + self.APIAddr + ':' + str(self.APIPort)).content)
 File "/usr/local/lib/python3.7/site-packages/jsonpickle/unpickler.py", line 40, in decode
data = backend.decode(string)
 File "/usr/local/lib/python3.7/site-packages/jsonpickle/backend.py", line 194, in decode
raise e
 File "/usr/local/lib/python3.7/site-packages/jsonpickle/backend.py", line 191, in decode
return self.backend_decode(name, string)
 File "/usr/local/lib/python3.7/site-packages/jsonpickle/backend.py", line 203, in backend_decode
return self._decoders[name](string, *optargs, **decoder_kwargs)
 File "/usr/local/Cellar/python/3.7.2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/__init__.py", line 348, in loads
return _default_decoder.decode(s)
 File "/usr/local/Cellar/python/3.7.2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 337, in decode
obj, end = self.raw_decode(s, idx=_w(s, 0).end())
File "/usr/local/Cellar/python/3.7.2/Frameworks/Python.framework/Versions/3.7/lib/python3.7/json/decoder.py", line 355, in raw_decode
raise JSONDecodeError("Expecting value", s, err.value) from None
json.decoder.JSONDecodeError: Expecting value: line 2 column 5 (char 5)

我是Python新手。我相信我在这里所做的唯一不同就是更新了我的jsonpickle库,因为Pycharm和终端使用的是不同的python解释。即使以前使用1.1和1.2版本也没有任何问题。因此,我认为这不是问题。有什么想法吗?

当我回到旧版本时,仍然会出现问题。另外,由于我什至没有碰到它,所以该问题出现在我的Raspberry Pi分布式执行中。当我尝试执行

我收到此错误

ValueError: not enough values to unpack (expected 5, got 2)

有问题的代码块是这个。

self.row = jsonpickle.loads(
        requests.get('http://' + self.APIAddr + ':' + str(self.APIPort) + '/preprocessing').content)

它在本地执行没有问题,并且昨天在Raspberry Pi中也没有问题,我可能无意间破坏了某些内容,或者我看不到原因。还有其他方法可以代替jsonpickle吗?

0 个答案:

没有答案
相关问题