Dear list members,

I try to use Text.JSON
(http://hackage.haskell.org/cgi-bin/hackage-scripts/package/json) to
serialize and deserialize record types. As I understand it, the data
types need to be instances of class JSON. However I have difficulties
to come up with a nice implementation of showJSON and readJSON. For
example:


module Test where

import Text.JSON

data Record =
    One {
        field1 :: String,
        field2 :: String }
  | Two {
        field :: String } deriving (Eq, Ord, Show, Read)

showJSON (One x y) = toJSObject [("field1", x), ("field2", y)]
showJSON (Two x)   = toJSObject [("field", x)]

readJSON x = -- ???

This lacks the instance declaration itself but my problem is more
fundamental. How can I write the readJSON method? In general how would
one approach the problem of serialization/deserialization? I am
puzzled that the type classes Show and Read can be derived
automatically. I can not think of any way to do this.

Thanks for your help!
_______________________________________________
Haskell-Cafe mailing list
Haskell-Cafe@haskell.org
http://www.haskell.org/mailman/listinfo/haskell-cafe

Reply via email to