Каков хороший способ десериализации данных в фиктивные объекты? - PullRequest
0 голосов
/ 09 ноября 2009

Я пишу фиктивный бэкэнд-сервис для своего приложения Flex. Поскольку мне, вероятно, потребуется со временем добавлять / редактировать / изменять макетные данные, я бы предпочел не генерировать данные в коде, подобном следующему:

var mockData = new Array();
mockData.push(new Foo(1, "abc", "xyz"));
mockData.push(new Foo(2, "def", "xyz"));
... 

Скорее, я хотел бы сохранить данные в файле в каком-либо формате, чтобы их можно было легко сериализовать в мои строго типизированные объекты-значения (т.е. см. Выше) В идеале я хотел бы создать данные в формате с самоописанием (т. Е. Какой тип данных у каждого поля, какой класс он представляет и т. Д.)

Имеет ли это смысл? Есть предложения?

Ответы [ 2 ]

2 голосов
/ 09 ноября 2009

Я очень рекомендую библиотеку asx3m . Он легко допускает сериализацию в очень читаемый формат XML, подобный этому, для объекта класса Foo:

<com.example.Foo>
   <myVar>Something</myVar>
   <myArrList>
      <string>one</string>
      <string>two</string>
   </myArrList>
</com.example.Foo>

Код для десериализации выглядит так:

Asx3mer.instance.fromXML(someXMLObj)

На сайте проекта есть несколько хороших примеров, и это не так уж и сложно.

0 голосов
/ 09 ноября 2009

Напишите метод для сериализации «надутой» версии вашего объекта. Поместите вывод этого в файл и загрузите его как часть вашей тестовой установки. Если вы хотите редактировать значения, просто отредактируйте XML-файл. Я не знаю, возможно ли это во Flex, но я обычно включаю эти файлы в качестве ресурса в мою тестовую библиотеку, чтобы мне не нужно было копировать файл в какое-либо определенное место для тестового запуска.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...