2015-12-04 1 views
1

Je ne sais pas comment utiliser Json.decode.Elm: Comment utiliser Json

type alias Test = 
    { a : Int 
    , b : Int 
    } 

testDecoder = 
    object2 Test 
     ("a" := int) 
     ("b" := int) 

main : Html 
main = 
    let 
     t = "{\"a\":2, \"b\":2}" 
     d = decodeString testDecoder t 
    in 
     p [] [ text <| toString <| d ] 

Je veux obtenir la valeur de "a".

Je ne sais pas "Ok {a = 2, b = 2}".

decodeString : Decoder a -> String -> Result String a 

Répondre

1

Depuis decodeString retourne un Result String a, il pourrait être soit un résultat d'erreur ou de réussite. Vous devez faire une déclaration de cas et de chercher Ok et Err, comme ceci:

main : Html 
main = 
    let 
     t = "{\"a\":2, \"b\":2}" 
     d = decodeString testDecoder t 
     myText = 
      case d of 
       Ok x -> toString x.a 
       Err msg -> msg 
in 
    p [] [ text myText ] 
+0

merci! ('▽ ') ノ – takata