2015-07-28 32 views
0

我正在用python写一个简单的分析服务器。json.loads()在Python中表现怪异

为了测试它,我想通过POST方法传递一个json,但是我遇到了一个错误,我不知道是什么导致它 - 我是一个初学者。事件如下:

首先,这是我的代码从JSON读取数据:

code = request.body.read() 
data = json.loads(code) 
print data 

预期的结果是,看看在终端印刷的字典。

这工作完全正常与此JSON:

{ 
    "category" : "Videos", 
    "action" : "play" 
} 

,但下面一个抛出一个ValueError

{ 
    “url” : “www.google.com”, 
    “session” : “1234hbnshgrjgcjbhrkfm9834”, 
    “agent” : “firefox”, 
    “os” : “Windows”, 
    “referer” : "null" 
} 
+2

这是因为这不是有效的JSON;尝试在线[JSON linter](http://jsonformatter.curiousconcept.com/),你会注意到这些引号不被接受。 –

+1

只是StackOverflow的语法高亮可以看到那些不是正确的引号;-) –

+2

因为它是'“JSON”',而不是JSON – myaut

回答

7

json.loads()假定直引号(""),而不是印刷(“”)。