Tôi đang sử dụng gói aeson
. Tôi có một kiểu dữ liệu sử dụng Data.Tree
trong tuyên bố của nó. Như sau, chỉ phức tạp hơn:Làm thế nào để tránh tạo ra một ví dụ FromJSON mồ côi cho Data.Tree
data Foo = Foo {
bat :: Text
, xux :: Maybe Text
, tri :: Tree Text
}
Tôi muốn sử dụng Data.Aeson.TH
để tạo ra một trường hợp FromJSON
cho loại này.
$(deriveJSON defaultOptions ''Foo)
Nhưng Data.Tree
không có một trường hợp tiêu chuẩn cho FromJSON
, có nghĩa là tôi sẽ cần phải khai báo một instace đứa trẻ mồ côi.
Có cách nào để tránh tạo trường hợp trẻ mồ côi, trong khi vẫn có thể sử dụng deriveJSON
?
Điều này có được sử dụng trong thư viện hay không cho ứng dụng bạn đang viết? Nếu đó là một ứng dụng, không có gì sai với một thể hiện trẻ mồ côi. –
@Gabriel Gonzalez Nó sẽ được sử dụng trong thư viện. – danidiaz