Проблема заключается в JSON использует двойные кавычки ("
) для цитирования значений , а не одиночные ('
).
Это означает, что исключение выдается из-за недопустимого JSON:
- это недопустимый JSON:
['a']
- это верный JSON:
["a"]
Также ниже приведен правильный пример, отличный оттвое:
>>> import json
>>> s1 = "['a']"
>>> s2 = '["a"]'
>>> json.loads(s1)
... some traceback removed ...
ValueError: No JSON object could be decoded
>>> json.loads(s2)
[u'a']
РЕДАКТИРОВАТЬ : я обновил вопрос с правильным выводом, который должен был видеть OP вместо того, что он / она отправили (json.loads('["a2"]')
не выдавал ошибок, json.loads("['a2']")
был).