json-0.4.4: Support for serialising Haskell to and from JSONSource codeContentsIndex
Text.JSON.Types
Portabilityportable
Stabilityprovisional
MaintainerSigbjorn Finne <sof@galois.com>
Contents
JSON Types
Wrapper Types
Description
Synopsis
data JSValue
= JSNull
| JSBool !Bool
| JSRational Bool !Rational
| JSString JSString
| JSArray [JSValue]
| JSObject (JSObject JSValue)
newtype JSString = JSONString {
fromJSString :: String
}
toJSString :: String -> JSString
newtype JSObject e = JSONObject {
fromJSObject :: [(String, e)]
}
toJSObject :: [(String, a)] -> JSObject a
get_field :: JSObject a -> String -> Maybe a
set_field :: JSObject a -> String -> a -> JSObject a
JSON Types
data JSValue Source

JSON values

The type to which we encode Haskell values. There's a set of primitives, and a couple of heterogenous collection types.

Objects:

An object structure is represented as a pair of curly brackets surrounding zero or more name/value pairs (or members). A name is a string. A single colon comes after each name, separating the name from the value. A single comma separates a value from a following name.

Arrays:

An array structure is represented as square brackets surrounding zero or more values (or elements). Elements are separated by commas.

Only valid JSON can be constructed this way

Constructors
JSNull
JSBool !Bool
JSRational Bool !Rational
JSString JSString
JSArray [JSValue]
JSObject (JSObject JSValue)
show/hide Instances
Wrapper Types
newtype JSString Source
Strings can be represented a little more efficiently in JSON
Constructors
JSONString
fromJSString :: String
show/hide Instances
toJSString :: String -> JSStringSource
Turn a Haskell string into a JSON string.
newtype JSObject e Source
As can association lists
Constructors
JSONObject
fromJSObject :: [(String, e)]
show/hide Instances
toJSObject :: [(String, a)] -> JSObject aSource
Make JSON object out of an association list.
get_field :: JSObject a -> String -> Maybe aSource
Get the value of a field, if it exist.
set_field :: JSObject a -> String -> a -> JSObject aSource
Set the value of a field. Previous values are overwritten.
Produced by Haddock version 2.4.2