Elm 获取原始 JSON 字符串

Elm get raw JSON string

我正在尝试构建一个非常简单的应用程序,它将仅从 api.

输出原始 JSON 对象

所以我想要一个函数,它将接受一个 url 参数,理想情况下 return 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

但我很难理解函数的解码器部分。如果有人能帮助我那就太好了。

如果您只想获取字符串值形式的 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