Elm获取原始JSON字符串

时间:2017-08-29 11:55:18

标签: elm

我正在尝试构建一个非常简单的应用程序,它只会从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

但是我很难理解函数的解码器部分。如果有人能帮助我那会很棒。

1 个答案:

答案 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)

这是working example on ellie-app.com