我正在使用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的方法。没有任何编码机制支持。
答案 0 :(得分:2)
由于您在客户端使用WebSockets,因此您的Python代码需要使用Web Socket protocol向客户端发送消息。查看javascript - WebSocket Server in Python的答案,了解一些不错的选择。
简答:您无法使用socket
并通过 Web Socket 向客户端发送消息,而无需实施Web Socket protocol。< / p>
答案 1 :(得分:1)
在python中,您可以使用JSON module。 在JavaScript中,您可以使用jQuery.parseJSON
python doc中的示例:
>>> 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 doc的示例:
var obj = jQuery.parseJSON('{"name":"John"}');
alert( obj.name === "John" );
答案 2 :(得分:0)
嗯,事实上你不能将python的对象发送到你的客户端的js。但是你可以在字符串中发送有效的json,并通过jQuery.parseJSON在客户端解析它。