我有一个简单的Python tornado Websockets服务器,从JavaScript客户端接收消息。我正在尝试发送JSON数据,我找到的唯一解决方案是将JSON对象转换成字符串JSON,发送它,另一方面通过服务器将字符串解析回JSON。这是我的Json文件:
{
"events": [
{
"id": 0,
"new": {
"description": "blabla bla keyyys",
"keys": [
"keyyys",
"key "
],
"start": "2.000000",
"end": "7.000000",
"priority": "normal"
}
},
{
"id": 1,
"new": {
"description": "anything key ",
"keys": [
"keyyys",
"key "
],
"start": "0.761077",
"end": "10.026667",
"priority": "high"
}
}
]
}
在发送之前,我在Json中添加了另一个元素:
^{pr2}$一。 . 在
function jsonToStringConvertor(obj)
{
var re = JSON.stringify(obj);
return re;
}
到目前为止还不错。但是当我试图像这样解析回Json时
JsonFormattedMessage = json.loads(message)[0]
我有个错误:
ERROR:tornado.application:Uncaught exception in /
Traceback (most recent call last):
File "/usr/local/lib/python3.4/dist-packages/tornado/websocket.py", line 494, in _run_callback
result = callback(*args, **kwargs)
File "index.py", line 27, in on_message
JsonFormattedMessage = json.loads(message)[0]
KeyError: 0
我认为消息不是一个列表,而是JSON字符串本身。所以您试图访问一个字符串的索引,这个字符串不存在。试着把字符串加载到json.loads功能:json.loads(消息)
相关问题 更多 >
编程相关推荐