それはあなたがコードを生成している間、まだ生成された型のためToJSON/FromJSONインスタンスを書くのは難しいけどはあなたがいることを投げることができることをではありませんか?または、これをYesodユーザーとして行うための簡単な方法はありますか?なぜ、永続型はYesodのToJSON/FromJSONのインスタンスではありませんか?
アップデート(私は... THがどのように機能するかにあまりにも深く掘っていない): OKを、私はこの提案を気に入ったが、私の永続的なタイプがユーザーであると言います。私は
を使用している場合、それは別名だから、それは明らかに
Exception when trying to run compile-time code:
Data.Aeson.TH.withType: Unsupported type: TySynD Model.User [] (AppT (ConT Model.UserGeneric) (ConT Database.Persist.GenericSql.Raw.SqlPersist))
Code: deriveJSON (id) 'User
が得られます。しかし
$(deriveJSON id ''UserGeneric)
利回り
Kind mis-match
The first argument of `UserGeneric' should have kind `(* -> *)
-> *
-> *',
but `backend[i5XB]' has kind `*'
は、私はおそらくまだ間違った型を持っているが、私は右の呪文を取得するために生成永続的なものについての十分なを見つけることができません。あなたは依存関係の肥大化につながる可能性がそのパッケージを、使いたくなかった場合でも、それはaeson
への依存性を追加しますので
これはまだ分かっていますか?ここでまったく同じ問題にぶつかります。 –
私は今、かなり長い間イェソドで作業されていないが、私はこのマイケルSnoymanのリンクに記載された追加「JSON」を使用して作業していたかなり確信します。https:// githubのを。com/yesodweb/yesod/wiki /永続的なエンティティ構文#json-instances – svachalek
ありがとう、それは動作します:) –