gh,那确实很烦人。这是JavaScript文字,但毫无意义的不是JSON。
从理论上讲,您应该能够json.decoder.JSONDecoder
从Python stdlib(或simplejson
2.6之前的版本,相同)中导入并对其进行子类化,然后将该子类传递给以json.loads
覆盖解码器行为。实际上,这实际上是不可行的,因为json.decoder
充满了抵抗子类化的全局交叉引用,并且您需要更改的位是中间的slap bang def JSONObject
。
因此,可能值得看看其他Python JSON库。我发现这一个,其在“非严格”模式,将解析不带引号的对象属性的名称:
>>> import demjson
>>> demjson.decode('{suggestion:[{query:"London",interpretation: ...')
{u'suggestion': [{u'query': u'London', u'operation': 2, u'interpretation': ...