在Haskell中将(CurlCode,String)更改为String

时间:2013-02-16 05:29:50

标签: haskell

我正在尝试创建一个简单的haskell程序,它从Web服务器获取JSON字符串并解析它。

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

此方法具有以下类型签名

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

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

谢谢!

1 个答案:

答案 0 :(得分:3)

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

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

不要忘记您可以使用a Hoogle search按类型查找功能。