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

javascript - Google App Script ContentService downloadAsFile not working -

javascript - Function overwritting -

c# - Exception when attempting to modify Dictionary -