我正在尝试构建一个非常简单的应用程序,它只会从api输出原始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
但是我很难理解函数的解码器部分。如果有人能帮助我那会很棒。
答案 0 :(得分:7)
如果您只想将HTTP响应作为字符串值,请使用Http.getString
。您使用Http.get
发布的示例假设结果是JSON并强制您将其解码为Elm值。
以下是random cat generator代码的修改示例,它只显示响应JSON的转储而不是猫图片:
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)