0

我正在使用 python 套接字与 JavaScript 客户端进行通信。

http://docs.python.org/2/library/socket.html

在 JavaScript 代码部分之后,

ws = new WebSocket("ws://localhost:7777/");
ws.onopen = function(){
  alert("websocket opened.");
}
ws.onclose = function(){
  alert("websocket closed.");
}
ws.onmessage = function(e) {
  alert(e.data);
}

我需要将 json 或字符串从 python 套接字传递给 JavaScript。仍然找不到传递json的方法。没有任何编码机制支持。

4

3 回答 3

2

由于您在客户端使用 WebSocket,因此您的 Python 代码需要使用Web Socket 协议向客户端发送消息。查看javascript - WebSocket Server in Python的答案,了解一些不错的选择。

简短回答:如果不实现Web Socket 协议,您将无法通过Web Socketsocket使用并向客户端发送消息。

于 2012-12-07T12:16:09.183 回答
1

在 python 中,您可以使用JSON 模块。在 JavaScript 中你可以使用jQuery.parseJSON

python 文档中的示例:

>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> print json.dumps("\"foo\bar")
"\"foo\bar"
>>> print json.dumps(u'\u1234')
"\u1234"
>>> print json.dumps('\\')
"\\"
>>> print json.dumps({"c": 0, "b": 0, "a": 0}, sort_keys=True)
{"a": 0, "b": 0, "c": 0}

来自 jQuery 文档的示例:

var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
于 2012-12-07T12:14:38.373 回答
0

嗯,事实上你不能将 python 的对象发送到你客户的 js。但是您可以在字符串中发送有效的 json 并在客户端上通过 jQuery.parseJSON 解析它。

于 2012-12-07T12:14:08.623 回答