하스켈에서 레코드 타입을 json으로 인코딩할 때 타입이 Maybe
인 필드의 값이 Nothing
이면 그 타입의 값은 null
로 변환된다.(deriving Generic
했다면)
이때 null
이 아니라 해당 필드 자체를 포함하지 않게 하려면 다음과 같이 하면 된다.
{-# LANGUAGE TemplateHaskell #-}
import Data.Aeson.TH
data Foo = ...
deriveJSON defaultOptions { omitNothingFields = True } ''Foo
위와 같이 deriveJSON
했다면 기존에 선언했던 아래 구문은 지워야 한다.
instance FromJSON Foo
instnace ToJSON Foo