У меня есть сложная структура данных Clojure, которую я хотел бы сериализовать - в основном все текущее состояние игры для онлайн-игры, которую я разрабатываю, чтобы я мог реализовать save файлы игр.
Мои требования:
- Некоторая форма текстового формата, читаемого человеком (я бы предпочел бы s-выражения, JSON и XML в этом порядке, но открытые для других)
- Поддерживать все обычные структуры данных, ключевые слова и примитивы Clojure.
- Возможность предоставления пользовательских функций сериализации/десериализации для пользовательских классов Java, defrecords и т.д. (это важно, потому что мне нужно сделать что-то вроде Java readResolve в нескольких случаях)
- Хорошая производительность - это приятный вариант
Любые хорошие рекомендации?