Тьфу, это действительно довольно раздражает. Это буквальный JavaScript, но это - бессмысленно - не JSON.
Теоретически предполагается, что вы сможете импортировать json.decoder.JSONDecoder
из stdlib Python (или simplejson
pre-2.6, что то же самое) и создать его подкласс, а затем передать этот подкласс в json.loads
для переопределения поведения декодера , В действительности это неосуществимо, поскольку json.decoder
полон глобальных перекрестных ссылок, которые сопротивляются подклассам, и бит, который вам нужно изменить, - это удар по лицу в середине def JSONObject
.
Так что, вероятно, стоит взглянуть на другие библиотеки Python JSON. Я нашел этот , который в «нестрогом» режиме будет анализировать имена свойств объекта без кавычек:
>>> import demjson
>>> demjson.decode('{suggestion:[{query:"London",interpretation: ...')
{u'suggestion': [{u'query': u'London', u'operation': 2, u'interpretation': ...