我试图在python中解析一个非常简单的json字符串但是我遇到了格式错误的字符串错误。我知道它是一个类型字符串(见下文),所以这不是问题Why does this string not work with ast.literal_eval
为什么我可能会收到此错误?我该如何解决?
g = "{\"RequestType\":\"1\" , \"FileName\":\"" + "test" + "\" }"
print type(g) //prints string
d = ast.literal_eval(json.loads(g)) //throws malformed string error
答案 0 :(得分:6)
json.loads
返回字典,而不是字符串。大概这就是你想要的,所以你根本不需要literal_eval
;只需使用json.loads(g)
。或者您可以单独使用ast.literal_eval(g)
。重点是你只需要其中一个功能,而不是两个功能,因为它们或多或少都是相同的。