Новейшая версия Data.Aeson изменила способ, которым ToJSON и FromJSON работа для простых типов, таких как:FromJSON на заказ для пользовательского типа
data Permission = Read | Write
Он имел обыкновение быть, что общий вызов:
instance ToJSON Permission where
... Создал бы JSON, который выглядел бы как {«Читать»: []} или {"Write": []}.
Но теперь она создает: {tag:"Read",contents:"[]"}
Который имеет смысл, но ломает код, который я написал. Я написал часть JSON вручную, чтобы дать правильный взгляд, но письмо от JSON меня сбивает с толку.
Любые идеи?
Благодаря
Я немного смущен относительно того, почему вы хотели бы использовать/fromJSON экземпляры для этого типа данных в первую очередь. Этот тип данных представляет собой константу больше, чем абстрактный тип. Я мог видеть, что это используется как часть более крупной структуры данных, имеющей заданное разрешение, то есть «{...,« разрешение »:« читать »}'. Поразмыслить над тем, как он используется? – fredugolon