是否可以自定义persistent,使json和Lens具有相同的字段名?
鉴于此:是否可以自定义persistent,使json和Lens具有相同的字段名?,json,haskell,persistent,haskell-lens,Json,Haskell,Persistent,Haskell Lens,鉴于此: import Database.Persist.TH share [mkPersist sqlSettings { mpsGenerateLenses = True }] [persistLowerCase| Book json title String pages Int deriving Eq Read Show Generic |] 我得到的JSON如下: { "title": "Persistent book", "pages"
import Database.Persist.TH
share [mkPersist sqlSettings { mpsGenerateLenses = True }] [persistLowerCase|
Book json
title String
pages Int
deriving Eq Read Show Generic
|]
我得到的JSON如下:
{ "title": "Persistent book", "pages": 50 }
book ^. bookTitle
{ "_bookTitle": "Persistent book", "_bookPages": 50 }
我可以使用这样的镜头:
{ "title": "Persistent book", "pages": 50 }
book ^. bookTitle
{ "_bookTitle": "Persistent book", "_bookPages": 50 }
是否可以告诉persistent
自动生成JSON,如下所示:
{ "title": "Persistent book", "pages": 50 }
book ^. bookTitle
{ "_bookTitle": "Persistent book", "_bookPages": 50 }
要匹配模型镜头?没有具体的选项(仅用于从镜头中删除“book”前缀),但似乎您可以编写符合您目的的自定义
toJSON
和fromJSON
函数,并通过使用它们来代替默认函数。没有具体的选项(仅用于从镜头中删除“book”前缀),但您似乎可以编写符合您目的的自定义toJSON
和fromJSON
函数,并通过。