我们正在尝试使用
Aeson-JSON
使用以下数据进行黑客攻击:
data Car = Car
{ carPosition :: Position,
carColor :: Color,
carDirection :: Direction }
deriving (Show, Generic)
Car
,并对数据类型执行相同的操作
Postion
,
Direction
:
instance FromJSON Position
instance FromJSON Direction
instance FromJSON Car
但现在问题开始了,数据类型
Color
来自
Gloss
Red
颜色
数据只知道:
deriving Show
,因此不可能添加
deriving Generic
. 我们尝试了以下代码:
instance FromJSON Color where
parseJSON (Object v) = Color <$>
v .: "carColor"
它抱怨类型不匹配
Picture -> Picture
我们期望的是
颜色
我们的问题是:我们如何使用这些数据
颜色
从…起
光泽
{
"carPostion": { "x": 0, "y": 10},
"carColor": "Red",
"carDirection": "Up"
}
我们尝试在没有
carColor
(仅用于测试目的)这是可行的。
更新:看起来像这样的问题:
Haskell Data.Decimal as Aeson type
除了我们想使用
颜色
在给定的情况下
Data.Decimal
是麻烦制造者。