是否可以自定义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
函数,并通过。