Ticket #3098: SimpleJSON.hs

File SimpleJSON.hs, 796 bytes (added by rheineke, 6 years ago)

The other piece of code

Line 
1module SimpleJSON
2    (
3      JValue(..)
4    , getString
5    , getInt
6    , getDouble
7    , getBool
8    , getObject
9    , getArray
10    , isNull
11    ) where
12
13data JValue = JString String
14            | JNumber Double
15            | JBool Bool
16            | JNull
17            | JObject [(String, JValue)]
18            | JArray [JValue]
19              deriving (Eq, Ord, Show)
20
21getString :: JValue -> Maybe String
22getString (JString s) = Just s
23getString _           = Nothing
24
25getInt :: JValue -> Maybe Int
26getInt (JNumber n) = Just (truncate n)
27getInt _           = Nothing
28
29getDouble (JNumber n) = Just n
30getDouble _           = Nothing
31
32getBool (JBool b) = Just b
33getBool _         = Nothing
34
35getObject (JObject o) = Just o
36getObject _           = Nothing
37
38getArray (JArray a) = Just a
39getArray _          = Nothing
40
41isNull v            = v == JNull