保存字典的结果有这样的json数据:
{'id':1, 'name':'Garry \"Hotdog\"'}
问题 #1:这个 json 不是标准的,它的 Deserialization(json.loads) 会导致错误,因为引号是单引号。 'name' 元素内的问题 #2包含“引号内的引号”,即 用双引号普通替换单引号并不能解决问题。
我尝试使用 json.dumps 函数,然后将对象传递给 json.loads,但由于某种原因,返回的不是字典,而是字符串。
import json
str_json = "{'id':1, 'name':'Garry \"Hotdog\"'}"
dmp = json.dumps( str_json )
jstr = json.loads(dmp)
print(jstr['id'])
错误:
TypeError: string indices must be integers
请告诉我如何在没有“因果关系”的情况下快速解析“这样的”json?
这是一个类似的问题,但没有人回答(
尝试使用ast.literal_eval():
正确(正确)JSON: