Elm获取原始JSON字符串

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

7
如果您只想获取HTTP响应作为字符串值,请使用Http.getString。您发布的示例使用Http.get假定结果为JSON并强制您将其解码为Elm值。
这是随机猫生成器代码的修改示例,它仅显示响应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)

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


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接