From and ToJSON in Haskell - a nested data -


i have this:

data data1 = data1 { field1 :: int, field2 :: int } data datamain = datamain      { :: string      , b :: bool     , subdata :: data1     } 

and json

{     a: 'some value',     b: 'some value2',     c: 'some value3',     d: 'some value4', } 

and here

  instance tojson datamain   tojson (datamain b subdata) =     object ["a" .=       , "b" .= b       , "c" .= (field1 subdata)       , "d" .= (field2 subdata)     ] 

how can same thing vise versa?

instance fromjson datamain   parsejson (object v) =     datamain <$> v .: "a"         <*> v .: "b"         <*> v .: ?????    parsejson _ = mzero 

you can use same applicative notation parse nested values this:

instance fromjson datamain     parsejson (object v) =         datamain <$> v .: "a"                  <*> v .: "b"                  <*> (data1 <$> v .: "c" <*> v .: "d")      parsejson _ = mzero 

Comments

Popular posts from this blog

c# - Validate object ID from GET to POST -

node.js - Custom Model Validator SailsJS -

php - Find a regex to take part of Email -