Python到javascript通信

时间:2010-10-08 12:22:01

标签: javascript python sockets encoding

好吧所以即时通讯使用websockets让javascript与python交谈并且效果很好但是我需要发送的数据经常有几个部分,如数组,(用户名,时间,文本),但我怎么能发送它?我最初在base64或urlencode中编码每个,然后使用像|的字符哪些编码方法永远不会使用,然后拆分信息。不幸的是我找不到python和javascript都能做到的方法。

所以问题是,有一种编码方法,浴可以做或者有一种不同的更好的方式,我可以发送数据,因为我之前没有真正做过这样的事情。 (我有AJAX请求,我发送的数据URL编码)。此外,我不会发送数英里的文本,如果是这样的话,一次大约100字节。 谢谢你!

修改

大多数评论都指向JSON,所以,什么是最好的转换用于javascript,因为javascript愚蠢地无法将字符串转换为JSON,或者反过来。

完成

好吧jaascript确实有一种将javascript转换为字符串的原生方式,它只是隐藏在世界中。 JSON.stringify(obj,[replacer],[space])将其转换为字符串,JSON.parse(字符串,[reviver])将其转换回来

2 个答案:

答案 0 :(得分:7)

JSON绝对是最佳选择。它具有非常小的开销,并且能够存储几乎任何类型的数据。我不是python专家,但我确信有某种en / decoder可用。

答案 1 :(得分:1)

使用json模块(或Python 2.6之前的simplejson)。

你只需要记住两个函数:json.dumps和json.loads。

>>> import json
>>> json.dumps(['foo', {'bar': ('baz', None, 1.0, 2)}])
'["foo", {"bar": ["baz", null, 1.0, 2]}]'
>>> json.loads('["foo", {"bar": ["baz", null, 1.0, 2]}]')
[u'foo', {u'bar': [u'baz', None, 1.0, 2]}]