Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/haskell/8.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Haskell 使用aeson管道解析JSON流_Haskell_Haskell Pipes - Fatal编程技术网

Haskell 使用aeson管道解析JSON流

Haskell 使用aeson管道解析JSON流,haskell,haskell-pipes,Haskell,Haskell Pipes,给出一个简单的JSON类型示例: data Test = Test { name :: Text , age :: Int } deriving (Show, Generic) instance FromJSON Test 如何使用pipes aeson使用decoded镜头解码来自套接字的JSON消息流?作为一个示例,我只想在解析它们时将它们打印出来: main = connect "127.0.0.1" "8000" $ \(socket, _) -> $ runEf

给出一个简单的JSON类型示例:

data Test = Test
  { name :: Text
  , age  :: Int
  } deriving (Show, Generic)

instance FromJSON Test
如何使用pipes aeson使用
decoded
镜头解码来自套接字的JSON消息流?作为一个示例,我只想在解析它们时将它们打印出来:

main = connect "127.0.0.1" "8000" $ \(socket, _) -> $ runEffect $
  some use of zoom decoded? view decoded? >-> P.print
(来自
Pipes.Aeson.Unchecked
)是一个镜头,它将原始字节的生产者转换为JSON中解析的
值的生产者

因此,我们必须首先使用
pipes network
包中的函数从套接字中创建字节的生产者。大概是这样的:

-- to help with type inference
printTest :: (MonadIO m) => Consumer' Test m r
printTest = P.print

main = do
    connect "127.0.0.1" "8000" $ \(socket, _) -> $ runEffect $
        view decoded (fromSocket socket 4096) >-> printTest
    return ()
(来自
Pipes.Aeson.Unchecked
)是一个镜头,它将原始字节的生产者转换为JSON中解析的
值的生产者

因此,我们必须首先使用
pipes network
包中的函数从套接字中创建字节的生产者。大概是这样的:

-- to help with type inference
printTest :: (MonadIO m) => Consumer' Test m r
printTest = P.print

main = do
    connect "127.0.0.1" "8000" $ \(socket, _) -> $ runEffect $
        view decoded (fromSocket socket 4096) >-> printTest
    return ()
(来自
Pipes.Aeson.Unchecked
)是一个镜头,它将原始字节的生产者转换为JSON中解析的
值的生产者

因此,我们必须首先使用
pipes network
包中的函数从套接字中创建字节的生产者。大概是这样的:

-- to help with type inference
printTest :: (MonadIO m) => Consumer' Test m r
printTest = P.print

main = do
    connect "127.0.0.1" "8000" $ \(socket, _) -> $ runEffect $
        view decoded (fromSocket socket 4096) >-> printTest
    return ()
(来自
Pipes.Aeson.Unchecked
)是一个镜头,它将原始字节的生产者转换为JSON中解析的
值的生产者

因此,我们必须首先使用
pipes network
包中的函数从套接字中创建字节的生产者。大概是这样的:

-- to help with type inference
printTest :: (MonadIO m) => Consumer' Test m r
printTest = P.print

main = do
    connect "127.0.0.1" "8000" $ \(socket, _) -> $ runEffect $
        view decoded (fromSocket socket 4096) >-> printTest
    return ()

这应该是插座4096的
?这应该是插座4096的
这应该是插座4096的
这应该是插座4096的
这应该是插座4096的
这应该是插座4096的
这应该是?