No es que es difícil escribir instancias ToJSON/FromJSON para los tipos generados, pero aun así, mientras genere el código, ¿podría incluirlo? ¿O hay una manera fácil de hacer que esto suceda como un usuario de Yesod? (No he cavado demasiado profundo en cómo funciona TH ...)¿Por qué no hay instancias de tipos persistentes de ToJSON/FromJSON en Yesod?
Actualización: OK, me gusta esta sugerencia, pero, dicen que es mi tipo persistente usuario. Si uso
$(deriveJSON id ''User)
cede
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
aparentemente porque es un alias. Pero
$(deriveJSON id ''UserGeneric)
produce
Kind mis-match
The first argument of `UserGeneric' should have kind `(* -> *)
-> *
-> *',
but `backend[i5XB]' has kind `*'
probablemente he todavía tengo el tipo equivocado, pero no puedo encontrar lo suficiente sobre lo que genera permanente a conseguir el encantamiento derecha.
¿Ya lo descubrió? Encontrando exactamente el mismo problema aquí. –
No he estado trabajando con Yesod desde hace bastante tiempo, pero estoy bastante seguro de que esto funcionó usando el "json" añadido que se menciona en el enlace de Michael Snoyman: https: // github.com/yesodweb/yesod/wiki/Persistent-entity-syntax # json-instances – svachalek
gracias, funciona :) –