我有以下代码:
data Friend = Friend
{ friend_name :: Text
, friend_inTwitter :: Bool
, friend_twitterName :: Maybe Text
}
$(deriveJSON (drop 6) ''Friend)
Run Code Online (Sandbox Code Playgroud)
这段JSON被发布到处理程序中,我很难获取它。我尝试了不同的方法,但让我将其中之一放在此处以产生建议:
postTestR :: Handler RepPlain
postTestR = do
value <- parseJsonBody_
return $ RepPlain $ friend_name value
Run Code Online (Sandbox Code Playgroud)
那是行不通的,我可以看到类型不匹配,但是我不确定用什么替换它。我还想看看如何解析以JSON形式发布的列表好友。
谢谢!
好吧,事实证明,我需要在其中添加一个“ toContent”调用以将“文本”转换为“内容”。这是一段有效的代码:
data Person = Person
{ person_firstName :: Text
, person_lastName :: Text
, person_fullName :: Text
, person_friends :: [Friend]
}
data Friend = Friend
{ friend_name :: Text
, friend_inTwitter :: Bool
, friend_twitterName :: Text
}
$(deriveJSON (drop 7) ''Person)
$(deriveJSON (drop 7) ''Friend)
postKnockoutR :: Handler RepPlain
postKnockoutR = do
value <- parseJsonBody_
let (f:fs) = person_friends value
return $ RepPlain $ toContent $ friend_name f
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
457 次 |
| 最近记录: |