Json.Decode example

March 1, 2016 ยท View on GitHub

import Graphics.Element exposing (Element, show) import Task exposing (Task, andThen) import Json.Decode exposing (Decoder, int, string, object3, (:=), at, keyValuePairs)

import Http

type alias Languages = List (String, Int)

mailbox = Signal.mailbox []

-- VIEW

main : Signal Element main = Signal.map show mailbox.signal

-- TASK

fetchApi = Http.get decoder api

handleResponse data = Signal.send mailbox.address data

decoder : Decoder (List (String, Int)) decoder = keyValuePairs int

port run : Task Http.Error () port run = fetchApi andThen handleResponse

api = "https://api.github.com/repos/elm-lang/elm-lang.org/languages"