Я разрабатывал «Конструктор форм» на Javascript и подошел к той части, где я отправлю спецификацию формы обратно на сервер для хранения. Конструктор поддерживает внутреннюю структуру данных, которая представляет поля, метку, параметры (для выбора / флажка / переключателя), обязательный статус и общий порядок сортировки полей.
Когда я хочу отправить эту структуру обратно на сервер, в каком формате мне следует передать ее?
Кроме того, при восстановлении формы, сохраненной на сервере, обратно в мой построитель Javascript, следует ли мне загружать данные в том же формате, в котором они были отправлены, или мне следует перестроить поля, используя функции построителя createField()?



![Безумие обратных вызовов в javascript [JS]](https://i.imgur.com/WsjO6zJb.png)


Я бы реализовал какой-то собственный text serialization и передал бы простой текст. Как вы говорите, вы можете восстановить информацию, выполнив обратный процесс.
Создавая и обрабатывая запросы с помощью JavaScript, я живу и дышу JSON. Его легко построить на стороне клиента, а на стороне сервера существует множество парсеров, поэтому обе стороны могут максимально использовать свой родной язык.
Это кажется идеальным сценарием для использования JSON в качестве формата сериализации для сервера. Если вы изучите несколько Примеры, это не так уж сложно понять.
Лучшая практика в этом отношении гласит, что если вы не планируете использовать сохраненные данные для чего-либо, кроме воссоздания формы, тогда лучший способ - отправить их обратно в каком-то родном формате (как упоминалось выше). С этим вы можете просто загрузить данные возвращаются и требует наименьшей обработки из любого метода.
Многие будут продвигать JSON. Он намного легче, чем XML. Лично я считаю, что XML немного более стандартен. У вас возникнут проблемы с поиском серверной технологии, не поддерживающей XML. JavaScript тоже отлично его поддерживает.
Можно было пойти и совершенно другим маршрутом. Поскольку вы будете отправлять информацию обратно только после завершения дизайна формы, вы можете сделать это с помощью form submit для множества скрытых полей. Создайте скрытые поля с помощью JavaScript и задайте необходимые значения.
Это, вероятно, было бы лучшим решением, если бы совсем не хотелось иметь дело с JSON/XML.