使用Haskell aeson ParseJSON示例(。:)

时间:2015-08-01 14:07:32

标签: haskell aeson

Aeson软件包使用example中有以下代码段:

data Coord = Coord { x :: Double, y :: Double }

instance FromJSON Coord where
  parseJSON (Object v) = Coord    <$>
                         v .: "x" <*>
                         v .: "y"

parseJSON函数的类型为parseJSON :: Value -> Parser a。 关于此代码我有以下问题:.:函数是什么?从示例中我可能会说它的类型是Object -> String -> Parser String,但是我无法在hoogle / hackage上找到任何关于它的内容。任何帮助将不胜感激!

1 个答案:

答案 0 :(得分:2)

它检索与密钥关联的值。如果密钥不在(.:)empty会产生解析失败(通过Alternative),因此它适用于强制密钥(与(.:?)相对,这对于可选的有意义。)