haskell - To and From JSON for custom data types -
i have following classes:
type id = uuid data mysubclass1 = mysubclass1 { svar1 :: utctime , svar2 :: utctime } data mymainclass = mymainclass { var1 :: id , var2 :: mysubclass1 , var3 :: (int, string) , var4 :: maybe string } and here's json itself:
{ "var1" : ..., "var2_1": ..., "var2_2": ..., "var3_1": ..., "var3_2": ..., "var4": ..., "svar1": ..., "svar2": ... } and need create instances of json them:
--ok instance fromjson mysubclass1 parsejson (object v) = mysubclass1 <$> v .: "svar1" <*> v .: "svar2" --ok instance tojson mysubclass1 tojson (mysubclass1 svar1 svar2) = object ["svar1" .= svar1 , "svar2" .= svar2 ] and here's have difficulty
instance fromjson mymainclass parsejson (object v) = mymainclass <$> v .: "var1" <*> (mysubclass1 v .: "var2_1" v .: "var2_2") -- error <*> (v .: "var3_1" v .: "var3_2") -- error <*> v .:? "var4" instance tojson mymainclass tojson (mymainclass var1 var2 var3 var4) = object ["var1" .= var1 , "var2" .= ---??? , -- what's next? ] most of errors types don't match.
Comments
Post a Comment