2017-08-29 6 views
2

私はAPIから生のJSONオブジェクトを出力する非常に単純なアプリケーションを構築しようとしています。Elmは生のJSON文字列を取得します

URLパラメータを受け取り、理想的にはJSON文字列を返す関数が必要です。

私は次のコードを持っている:

decode: String -> String 
decode jsonString = 
    Decode.decodeString jsonString 

apiResonse : String -> String 
apiResonse url = 
    let 
    url = "https://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=cats" 
    request = Http.get Decode.decodeString url 
    in 
    Http.send NewRequest request 

をしかし、私は、関数のデコーダ部分を理解するのに苦労しています。もし誰かが私を助けることができたら、それはすばらしいだろう。

答えて

6

HTTP応答を文字列値として取得する場合は、Http.getStringを使用します。 Http.getを使用して投稿した例は、結果がJSONであるとみなし、Elm値にデコードするよう強制します。ここ

だけ代わりに猫の画像の応答JSONのダンプを表示random cat generatorコードの変形例である:ここ

getRandomGif : String -> Cmd Msg 
getRandomGif topic = 
    let 
    url = 
     "https://api.giphy.com/v1/gifs/random?api_key=dc6zaTOxFJmzC&tag=" ++ topic 
    in 
    Http.send NewGif (Http.getString url) 

working example on ellie-app.com

あります
関連する問題