Сериализация объекта Python с телефона S60

Я ищу способ сериализации общих объектов Python между сервером на основе CherryPy и клиентом Python, работающим на телефоне Symbian. Поскольку pyS60 не реализует модуль pickle, как бы вы это сделали?

Я знаю о Cerealizer, но он требует, чтобы вы зарегистрировали классы перед использованием (чего я хотел бы избежать) и не выглядит очень зрелым ... Итак, что бы вы использовали? Модуль pickle в Python 2.2 может быть извлечен из исходников? XML, JSON? Какая из нескольких библиотек? :)

12.12.2008 11:11:00
3 ОТВЕТА
РЕШЕНИЕ

Что не так с использованием модуля рассола?

2
12.12.2008 12:09:24
рассол 2.2, ты имеешь ввиду? Думаю, ничего. Просто спрашиваю мнение :)
Joril 12.12.2008 12:43:50

Есть модуль json, который кто-то написал для PyS60. Я бы просто взял это, сериализовал вещи в json и использовал бы это как метод передачи между приложением web / client.

Для json lib и достойной книги по PyS60: http://www.mobilepythonbook.org/

1
12.12.2008 16:48:31
У меня есть эта книга прямо здесь, но я полностью пропустил часть JSON. X-) Спасибо!
Joril 15.12.2008 12:41:23

В последних версиях Python (> 1.9) доступны модуль pickle и cPickle

Другой альтернативой сериализации JSON является использование формата netstring (смотрите в википедии) для сериализации. Это на самом деле более эффективно, чем JSON для двоичных объектов.

Вы можете найти хороший модуль netstring здесь http://github.com/tuulos/aino/blob/d78c92985ff1d701ddf99c3445b97f452d4f7fe2/wp/node/netstring.py (или aino / wp / node / netstring.py)

1
8.06.2009 17:19:45
Похоже, netstring предназначен только для строк, а не для общих объектов. Спасибо за ваш совет, хотя :)
Joril 8.06.2009 20:01:24
вы правы. Это очень удобно для объектов dict, все значения которых являются строками
Agathe 8.06.2009 20:22:51