2016-07-13 11 views
0

私はPDFDocumentとXMLDocumentの2種類のドキュメントを持っています。どちらもケースクラスです(私はそれらを照合する必要があります)。 今、私はドキュメントのコレクションを持っている必要があります。そこで、私はPrivateDocumentを作成して階層を作成しました。 これらの文書は、私は外部のサーバへの要求からそれを得るので、私はその要求のデ応答を検証したいと思います:Scalaでケースクラスを使用した階層化

response.json.validate[List[ProformaDocument]] 
問題がある

、そのPrivateDocumentはケースクラス、そしてケースにある場合ケースの継承は禁止されています。 PrivateDocumentが特性またはクラスの場合、特性には読み込みがないため、JSONを逆シリアル化できません。

結局のところ、私はそれを求めるウェブページにリストを返す必要があります。だから、再び、リストをJson配列に変換する必要があります。

適切な階層を作成し、ケースクラス/ Json変換を管理するには、この場合どのようなことができますか?

答えて

0

通常のクラスでも一致を実行できます。

大文字小文字の継承は機能しませんが、通常の抽象基本クラスを作成し、それから継承するケースクラスを持つことができます。

+0

同じです。これで何が起こるのですか: List [model.PrivateDocument]タイプのJsonデシリアライザが見つかりません。このタイプの暗黙の読み取りまたは書式を実装してください。 – Lucas

+0

他の方法で試してみてください。ケースクラスは使用しないでください。ケースクラスは、自動作成されたコンストラクタ、イコール、ハッシュのメリットを提供しますが、時にはそれを買う余裕がありません。 –

関連する問題