今天在学习 Python 的时候,遇到了一个问题,在网上收集到的json数据,key值不是字符串,这些数据在JavaScript的中是可以解析的,但在Python中,无法使用 json.loads(json_str)来转换为json数据。在网上找到了一个解决方法,完美解决了,在这里记录一下,以便下次使用。
def parse_js(expr):
"""
解析非标准JSON的Javascript字符串,等同于json.loads(JSON str)
:param expr:非标准JSON的Javascript字符串
:return:Python字典
"""
obj = eval(expr, type('Dummy', (dict,), dict(__getitem__=lambda s, n: n))())
return obj
还有一个解决方法,试了一下,发现有问题,所以这里就不再提及了。