使用 Aeson 库在 Haskell 中自定义记录到 json 键转换
Custom record to json key conversion in Haskell using Aeson library
以下代码对我不起作用。谁能解释如何解决和避免 Haskell
中的以下错误
{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneric #-}
module Test where
import GHC.Generics
import Data.Aeson.Types
import Data.Aeson
data Person = Person { personId :: Int , personName :: String} deriving (Show, Generic)
instance ToJSON Person where
toJson p = [
"id" .= personId p,
"name" .= personName p
]
instance FromJSON Person
我收到以下错误。我无法弄清楚这里的问题。
Prelude> :load src/User/Test
[1 of 1] Compiling Test ( src\User\Test.hs, interpreted )
src\User\Test.hs:13:5: error:
`toJson' is not a (visible) method of class `ToJSON'
Failed, modules loaded: none.
方法的名称是toJSON
,而不是toJson
。 Haskell 中的标识符区分大小写。您可以在 aeson
documentation for the ToJSON
class.
中找到它
以下代码对我不起作用。谁能解释如何解决和避免 Haskell
中的以下错误{-# LANGUAGE OverloadedStrings #-}
{-# LANGUAGE DeriveGeneric #-}
module Test where
import GHC.Generics
import Data.Aeson.Types
import Data.Aeson
data Person = Person { personId :: Int , personName :: String} deriving (Show, Generic)
instance ToJSON Person where
toJson p = [
"id" .= personId p,
"name" .= personName p
]
instance FromJSON Person
我收到以下错误。我无法弄清楚这里的问题。
Prelude> :load src/User/Test
[1 of 1] Compiling Test ( src\User\Test.hs, interpreted )
src\User\Test.hs:13:5: error:
`toJson' is not a (visible) method of class `ToJSON'
Failed, modules loaded: none.
方法的名称是toJSON
,而不是toJson
。 Haskell 中的标识符区分大小写。您可以在 aeson
documentation for the ToJSON
class.