は私がタグなしでAesonでレコード合計データ型をシリアル化する方法は?
data AB = A
{
ab :: Text
, a :: Text
}
| B
{
ab :: Text
, b :: Text
} deriving (Generic)
今、私はそれは、次のJSONに生成されたA
をシリアル化するためにアイソーンを使用する場合、たとえば、複数のコンストラクタを持つデータ型を持っている:
{
"tag": "A",
"ab": "some text",
"a": "some text"
}
私はそれがSumEncoding
を使用することが可能だということを知っていますコンストラクタがどのように処理されるかを操作するが、私が望むものは見つけられない。
どうやらtag
フィールドをシリアル化されたJSONで省略することはできますか?私は一方向のシリアライズ(それを非直列化する理由はありません)が必要ですが、データ型はかなり手動でシリアライズする方法を書いています。
私はそれを受け取り、Aesonに寄付することをお勧めします。そのハックはまさに私が探していたものでした。ありがとう! – klappvisor