decode : String -> Result String Generic.Value
Generic decoder function for any kind of Json value.
import Generic as Gen
import Generic.Json as Json
"""{
"Herausgeber": "Xema",
"Nummer": "1234-5678-9012-3456",
"Deckung": 2e+6,
"Waehrung": "EURO",
"Inhaber":
{
"Name": "Mustermann",
"Vorname": "Max",
"maennlich": true,
"Hobbys": ["Reiten", "Golfen", "Lesen"],
"Alter": 42,
"Kinder": [],
"Partner": null
}
}"""
|> Json.decode
|> Result.withDefault Gen.Null
|> Gen.get [Gen.String "Inhaber", Gen.String "maennlich"]
|> Maybe.map (Gen.toBool)
--> Just True
encode : Generic.Value -> Json.Encode.Value
Generic encoder, which will translate any kind of Generic.Value
back into a Json value.
import Generic as Gen
import Generic.Json as Json
"""{
"Herausgeber": "Xema",
"Nummer": "1234-5678-9012-3456",
"Deckung": 2e+6,
"Waehrung": "EURO",
"Inhaber":
{
"Name": "Mustermann",
"Vorname": "Max",
"maennlich": true,
"Hobbys": ["Reiten", "Golfen", "Lesen"],
"Alter": 42,
"Kinder": [],
"Partner": null
}
}"""
|> Json.decode
|> Result.withDefault Gen.Null
|> Gen.set [Gen.String "Inhaber", Gen.String "maennlich"] (Gen.String "divers")
|> Json.encode
|> Json.toString 2
--> "{\n \"Deckung\": 2000000,\n \"Herausgeber\": \"Xema\",\n \"Inhaber\": {\n \"Alter\": 42,\n \"Hobbys\": [\n \"Reiten\",\n \"Golfen\",\n \"Lesen\"\n ],\n \"Kinder\": [],\n \"Name\": \"Mustermann\",\n \"Partner\": null,\n \"Vorname\": \"Max\",\n \"maennlich\": \"divers\"\n },\n \"Nummer\": \"1234-5678-9012-3456\",\n \"Waehrung\": \"EURO\"\n}"
toString : Basics.Int -> Json.Encode.Value -> String
A simple alias for Json.Encode.encode
that outputs a String fo every Json value.
decodeString : String -> Generic.Value
Just a convenience functions, that decodes a Json string. If not possible, the result will be a generic Null
.
decodeValue : Json.Decode.Value -> Generic.Value
Just a convenience functions, that decodes a Json value. If not possible, the result will be a generic Null
.