Elm获取原始JSON字符串

Jam*_*mes 3 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
Run Code Online (Sandbox Code Playgroud)

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

Cha*_*ert 7

如果您只想将HTTP响应作为字符串值,请使用Http.getString.您使用的示例Http.get假设结果是JSON并强制您将其解码为Elm值.

以下是随机cat生成器代码的修改示例,它只显示响应JSON的转储而不是cat图片:

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)
Run Code Online (Sandbox Code Playgroud)

这是ellie-app.com上的一个工作示例