json을 아래 형식으로 변환하고 싶습니다. 그리고 아래 형식을 내 기록으로 변환하십시오. 아래에 작성한 코드를 확인하십시오.aeson에서 사용자 정의 json 문자열로 레코드의 생성자 변환 haskell
{
"uid" : "bob",
"emailid" : "[email protected]",
"email_verified" : "Y" // "Y" for EmailVerified and "N" for EmailNotVerified
}
나는, 내가 하스켈
그러나{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneriC#-}
import Data.Monoid ((<>))
import GHC.Generics
import Data.Aeson (FromJSON, ToJSON)
import Data.Aeson.Types
data User = User {
userId :: String,
userEmail :: String,
userEmailVerified :: EmailState
} deriving (Show, Generic)
data EmailState = EmailVerified | EmailNotVerified deriving (Generic, Show)
instance ToJSON User where
toJSON u = object [
"uid" .= userId u,
"emailid" .= userEmail u,
"email_verified" .= userEmailVerified u
]
instance FromJSON User where
parseJSON = withObject "User" $ \v -> User
<$> v .: "uid"
<*> v .: "emailid"
<*> v .: "email_verified"
instance ToJSON EmailState
instance FromJSON EmailState
에 아이손 라이브러리를 사용하여 JSON을 에서 사용자 유형을 변환하려고 코드 아래 나는 아래처럼 생성 현재 수 있어요 내 형식이
{
"uid" : "bob",
"emailid" : "[email protected]",
"email_verified" : "EmailVerified"
}
또한'EmailState' – 4e6