我有一个json格式的字符串需要用python2加载,但是在json.loads()
时会出错。
{"api":"wdetail","v":"5.0","ret":["100"],"data":{"apiStack":[{"name":"esi ","value":"{\"api\":\"com.aaa.detail\",\"v\":\"1.0\",\"ret\":[\"11\"]} "}]}}
加载上面的json字符串时,会提示错误:ValueError: Expecting , delimiter: line 1 column 87 (char 86)
,我发现这是因为中大括号前有引号"value":"{\"api\"
,如果我删除引号,则 json 加载有效。
{"api":"wdetail","v":"5.0","ret":["100"],"data":{"apiStack":[{"name":"esi ","value":{\"api\":\"com.aaa.detail\",\"v\":\"1.0\",\"ret\":[\"11\"]}} ]}}
关于第一个字符串,我如何要求 json.loads 支持它。否则我需要把引号一一去掉,很无聊。
最佳答案
您可以使用str.replace()从第一个字符串中删除 "{
和 }"
:
new_s = s.replace('"{', '{').replace('}"', '}') # s is your first string here
data = json.loads(new_s)
关于python - 如何处理json中的大括号转义,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47430767/