Elm:
Werken met JSON
Hoe te:
Elm handelt JSON af met behulp van de Json.Decode
en Json.Encode
modules. Hier is een eenvoudig voorbeeld:
import Html exposing (text)
import Json.Decode exposing (string)
-- Het decoderen van een eenvoudige JSON-string
jsonString : String
jsonString = "{\"name\": \"Elm\"}"
type alias Gebruiker =
{ naam : String }
gebruikersNaamDecoder : Json.Decode.Decoder String
gebruikersNaamDecoder =
Json.Decode.field "name" string
main =
case Json.Decode.decodeString gebruikersNaamDecoder jsonString of
Ok naam ->
text ("Welkom, " ++ naam)
Err _ ->
text "Oeps, er is iets misgegaan!"
Output:
Welkom, Elm
Diepere Duik
Sinds de vroege jaren 2000 is JSON de facto de standaard geworden voor web-API’s en heeft het XML verdrongen vanwege de eenvoud. Hoewel Elm beknopt en type-veilig is, kan het omgaan met JSON omslachtig zijn door de noodzaak van expliciete decoders.
Alternatieven zoals Haskell gebruiken typeklassen voor het coderen/decoderen van JSON, wat meer out-of-the-box functionaliteit biedt. Echter, Elm’s aanpak helpt typeveiligheid te handhaven en runtime-fouten te voorkomen. Decoders geven expliciet aan hoe JSON naar Elm-typen moet worden geconverteerd, en encoders doen het omgekeerde proces.
Zie Ook
Voor verdere lectuur en bronnen:
- De officiële JSON-gids van Elm: Werken met JSON in Elm
- Json.Decode documentatie: Elm Json.Decode
- Json.Encode documentatie: Elm Json.Encode