2017-01-26 7 views
0

私はフェニックスのアプリケーションでPoisonライブラリを使用してjsonに構造体をシリアライズするためのチュートリアル/例を探しています。私はそのような例を見つけました:https://robots.thoughtbot.com/building-a-phoenix-json-apiしかし、それは毒を使用していないし、構造体のネストされたマップで構造体をカバーしていません。私もこの回答を試みました:https://stackoverflow.com/a/34751835/4409736しかし、私はそれを正しく実装することに失敗しました。私は私のコントローラから別の構造体とhas_many関係を持つ構造体のマップを直列化したい。誰かがそのようなことを見たか、そのようなケースで私を助けることができましたか?フェニックスと多対1リレーションシリアライズ

答えて

1

Poison.Encoderプロトコルには単にdefimplを使用し、カスタムはencodeを実装できます。 モデルファイルで直接行う必要があります。フィールドを追加したり、リレーションが正しくロードされているかどうかを確認したりできます。

関連項目を取得するには、assoc/2でプライベート関数を使用してから、encodeのフィールドとして使用します。

+0

私はstructと一緒に@deriveを使用しました。エンコードが機能しています。私は例外を除いて__meta__を追加しなければならず、最後にEctoモデルをjsonに直列化しなければならなかった – michalSolarz

関連する問題