我使用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'
答案 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。