Наше приложение Flex хотело бы работать с запросами и ответами как с графами объектов (в этом нет ничего необычного), например. ответ становится моделью некоторого представления и структурой с несколькими уровнями вложенности.
** Теперь в идеале мы хотели бы использовать одни и те же объекты на стороне клиента (и сервера) для разных форматов сообщений, например. XML и AMF, а также подключаемый уровень сериализации / десериализации (!)
AMF имеет сериализацию и сопоставление клиента с сервером с использованием [RemoteClass (alias = "samples.contact.Contact")] но похоже, что для XML нет эквивалента.
Я (несколько оптимистично) ищу изящный способ сериализации графа объекта в XML для отправки через HTTPService от клиента.
Для ответов по умолчанию "объект" и "E4X" обеспечивают некоторую десериализацию. Это удобно, но, разумеется, у нас нет тонкостей распаковки XML обратно в определенные классы AS, как в случае с AMF.
Какие-либо предложения? (была одна идея об упаковке / преобразовании объекта как XML или XMLList - однако, похоже, это не работает)
Обновлять:
Обе эти библиотеки выглядят полезными, и я, скорее всего, когда-нибудь ими воспользуюсь.
На данный момент мне действительно нужна простота повторного использования набора метаданных для сериализации AMF3, который мы используем в любом случае ([RemoteClass], [Transient])
.. так что лучшим вариантом на данный момент является AMFX - используемые службы данных Flex для передачи AMF с использованием XML - классов в пакете mx.messaging.channels.amfx - единственный недостаток на данный момент заключается в том, что любой класс Externalizable преобразуется в поток байтов Hex - а ArrayCollection - внешний! (в надежде найти обходной путь путем сериализации внутреннего массива в подклассе ..)
Надеюсь, это кому-то пригодится ..





Также есть библиотека, включающая JSON, доступная от Adobe. А поскольку ActionScript - это надмножество JavaScript ... а JSON все чаще поддерживается кросс-фреймворком ...
Что касается сериализации Xml, я могу дать вам отправную точку (хотя она может быть предвзятой: D).
Я работаю над проектом, который позволяет автоматически преобразовывать объекты AS3 в XML и обратно. Он в основном использует аннотации к объектам модели, которые вы используете для связи, чтобы построить структуру xml или заполнить объект из xml.
Он называется FlexXB, и вы можете проверить его на http://code.google.com/p/flexxb/. Я начал этот проект, потому что у меня возникли те же проблемы на работе (а именно, у меня есть сервер, который общается через xml), и я надеялся, что он будет полезен кому-то другому.
Ваше здоровье,
Алекс
оформить заказ в формате asx3m по адресу http://code.google.com/p/asx3m Это порт AS3 библиотеки сериализации Java XStream, который работает очень хорошо. Я сделал это, потому что мне пришлось подключиться к серверной платформе, которая использовала XStream для обмена объектами данных, и вложить в нее много работы. Его можно расширить для сериализации объектов AS3 в любой формат (например, JSON) и использовать возможности определяемых пользователем метатегов. Ваше здоровье,
Томислав
Еще один проект: FleXMLer (http://code.google.com/p/flexmler/) .
У него прямолинейная позиция asx3m, когда вы можете просто вызвать:
new FleXMLer().serialize(obj);
Или вы можете настроить имена элементов XML, пропустить элементы и настроить способ сериализации массивов и хэш-таблиц. Буду признателен за ваш вклад.