2016-05-20 9 views
3

Ich habe Fallklasse mit Feld AnyContent. Ich bekomme es von DB alsInhalt von AnyContent als JSON

AnyContentAsText(//some value) 

, als wenn ich es in JSON wie Text bekommen

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

es gibt

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

Wenn ich möchte es wie JSON

Json.obj(content.asJson) 

Ich bekomme

[null] 

Wie kann ich es bekommen wie JSON, aber nicht null natürlich?

+0

Es ist mir nicht klar, wie Ihre 'Fallklasse' aussieht und was die' asText' Methode macht – mfirry

Antwort

1

Der einzige Weg von AnyContentAsText zu JSON zu gehen wäre einfach Json.parse(content.asText) zu tun.

Allerdings ist es seltsam, dass Sie einen Wert von Ihrer DB als AnyContentAsText erhalten. AnyContentAsText und alle anderen Unterklassen von AnyContent sind wirklich für den Anforderungslebenszyklus gedacht. Wenn Sie eine Anfrage in einer Controller-Methode konsumieren, sollten Sie zunächst Ihre AnyContent in den erwarteten zugrunde liegenden Wert (Text, JSON, usw.) analysieren und dann mit diesen zugrundeliegenden Werten eine Geschäftslogik/Persistenz machen.