2

我正在尝试创建一个简单的 haskell 程序,该程序从网络服务器获取 JSON 字符串并对其进行解析。

我正在使用 Network.Curl 的 curlGetString 方法。

此方法具有以下类型签名

curlGetString :: URLString -> [CurlOption] -> IO (CurlCode, String)

我的问题是:如何将输出从 (CurlCode, String) 转换为 String?

谢谢!

4

1 回答 1

3

响应体只是元组的第二个元素。curlGetString首先在IOmonad中绑定结果,然后使用snd或者更好的模式匹配:

main = do
  (code, body) <- curlGetString "http://foo.example.com/" [...]
  case code of
    CurlOK -> putStr body
    _ -> putStrLn $ "Error: " ++ show code

不要忘记,您可以使用Hoogle 搜索按类型查找函数。

于 2013-02-16T05:32:56.773 回答