Python для связи с JavaScript - PullRequest
       6

Python для связи с JavaScript

1 голос
/ 08 октября 2010

ОК, поэтому я использую websockets, чтобы позволить javascript общаться с python, и это работает очень хорошо, НО данные, которые мне нужно отправлять, часто состоят из нескольких частей, таких как массив (имя пользователя, время, текст), но как я могу отправить его?Я первоначально, хотя, чтобы закодировать каждый в base64 или urlencode, а затем использовать символ как |которые эти методы кодирования никогда не будут использовать, а затем разделят информацию.К сожалению, я не могу найти метод, который может сделать и Python, и Javascript.

Так что вопрос, есть ли метод кодирования, который может сделать ванна, ИЛИ есть другой лучший способ, которым я могу отправить данные, потому что я на самом деле нетсделал что-нибудь подобное раньше.(У меня есть, но запросы AJAX, и я посылаю эти данные в кодировке URL).Также я не посылаю мили текста, около 100 байт за раз, если это.спасибо!

edit

Большинство комментариев указывают на JSON, так что лучше конвертировать, чтобы использовать для javascript, потому что javascript тупо не может конвертировать строки в JSON, или наоборот.

Закончено

Что ж, у jaascript есть собственный способ конвертировать javascript в строку, он просто скрыт от мира.JSON.stringify (obj, [replacer], [space]) для преобразования его в строку и JSON.parse (string, [reviver]) для преобразования его обратно

Ответы [ 2 ]

7 голосов
/ 08 октября 2010

JSON - это определенно верный путь.Он имеет очень небольшие накладные расходы и способен хранить практически любые данные.Я не эксперт по Python, но я уверен, что есть какой-то en / decoder.

1 голос
/ 09 октября 2010

Используйте модуль json (или simplejson до Python 2.6).

Вам нужно запомнить только две функции: 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]}]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...