2016-05-20 3 views
3

フィールドAnyContentを持つケースクラスがあります。私は、テキストのようなJSONでそれを得るとき、私はanyContentからのコンテンツをJsonとして取得

Json.obj("body"->content.asText) 

それが返したより

AnyContentAsText(//some value) 

としてDBからそれを得る私は

Json.obj(content.asJson) 
JSON

のようにそれを取得したい

[{"body":"AnyContentAsJson({\"ma\":\"[email protected]\"})"}] 

私は

[null] 

どうすればJSONのようにすることができますか?

+0

あなたの 'case class'がどうなっているのか、' asText'メソッドがやっていることはわかりません – mfirry

答えて

1

AnyContentAsTextからJSONに行く唯一の方法は、単にJson.parse(content.asText)です。

ただし、あなたのDBからの値がAnyContentAsTextであることは奇妙です。 AnyContentAsTextと他のすべてのサブクラスAnyContentは、実際にリクエストライフサイクルを対象としています。コントローラメソッドでリクエストを消費する場合、最初に行うべきことは、AnyContentを期待される基礎値(text、jsonなど)に構文解析し、それらの基礎値でビジネスロジック/永続性を実行することです。

関連する問題