为什么这会抛出一个畸形的字符串?

时间:2013-11-29 07:47:06

标签: python

我试图在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

1 个答案:

答案 0 :(得分:6)

json.loads返回字典,而不是字符串。大概这就是你想要的,所以你根本不需要literal_eval;只需使用json.loads(g)。或者您可以单独使用ast.literal_eval(g)。重点是你只需要其中一个功能,而不是两个功能,因为它们或多或少都是相同的。