Python3:无法从json.decoder导入JSONDecodeError

时间:2017-06-23 05:57:48

标签: python python-3.x simplejson

我使用python 3.4.3设置virtualenv并尝试从json.decoder导入JSONDecodeError

from json.decoder import JSONDecodeError (I think its valid in python3 ? But why not working for me ?) 

但它不起作用。只有下面工作:

from simplejson import JSONDecodeError

我是怎么做到的?

virtualenv venv --no-site-packages -p python3 
pip install ipython
ipython
from json.decoder import JSONDecodeError
ImportError: cannot import name 'JSONDecodeError'

enter image description here

3 个答案:

答案 0 :(得分:14)

根据3.4.x docs,当JSON解码失败时会引发普通ValueError

JSONDecodeError课程从3.5.x开始提供。

答案 1 :(得分:2)

根据module json (Python version >= 3.5.0)的文档,Python版本< 3.5.0不像你刚才那样支持import语句,但是如果你使用Python(版本> = 3.5.0),你的import语句肯定是正确的。

答案 2 :(得分:0)

json是已集成到Python中的simplejson的版本。从那时起它们就被单独开发并且不再相同了。所以它们不一定可以互换使用。

有关差异的详细信息,请参阅this answer