Здравствуйте. Собственно, вопросов никаких не имею. Но, возможно, кто-нибудь захочет взглянуть незамутненным взглядом и найдет подводные камни. Или предложит улучшения.
Надоело мне гонять JSON между сервером и клиентом и было решено накостылять свой формат сериализации коллекции структур. Максимально простой в парсинге и восприятии человеком, но со схемой и валидацией.
Сначала идет схема, а следом данные. Данные отделяются между собой ENTER-ами.
Символ "-" означает дефолтное значение поля или пустое значние в схеме. И вот с ним возникает определенная загвоздка. Непонятно что делать, если понадобится интерпретировать его буквально как "-", а не как пустое поле
Формат схемы:
Имя_поля Тип Дефолтное_значение Минимум Максимум
Схема для типа enum
Имя_поля enum Дефолтное_Значение Имя_1 Имя_2 ...
Пример (коллекция из двух человек)
id number - 0 -
name string "John Doe" 1 100
sex enum Male Male Female
hetero boolean true
notes string - 0 500
1
Пертов
-
-
Поддержка\n\t escape-последовательностей
2
Иванова
Female
false
-