1
以下のコードは私にとっては機能しません。 Haskellで以下のようなエラーを回避し回避する方法を誰でも説明できます。Aesonライブラリを使用したHaskellのjsonキー変換へのカスタムレコード
{-# 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'であるべきです。 – epsilonhalbe
ありがとう。私はそれに気付かなかった。しかし、このエラーはとても混乱しています。 OOPから来た私は、「見えない」とは、メソッドがモジュールから露出していないことを意味すると考えました。 – yantrakaar