2
Play Frameworkを使用して、いくつかのJSONオブジェクトを返すREST APIを公開しています。 APIの使用を簡素化するために、私は応答に "計算された"フィールドを返したいと思います。私のテストでは残念ながらFlexJson経由でモデル内の過渡フィールドをシリアル化する方法は?
、FlexJsonが完全過渡モデルフィールドを無視し、常に「NULL」にそれらを設定しません。
詳細:
モデルクラスにおいて、Iは定義:
@Transient
public String currencyName;
(デバッグ目的のための) "ドル" の値に設定クラスののみコンストラクタ:
this.currencyName = "dollar";
FlexJsonを使用してクラスをシリアル化するとき、 'currencyName'フィールドdがで指定されていない含める/除外 - 結果は常に次のようになります。間違ってました、そしてどのようにJSONにシリアライズフィールドの値を取得するにはどのような
"currencyName":null
任意のアイデア?
ありがとうございます。
ありがとうございました。私は、アプリケーション間でオブジェクト "状態"を転送するのではなく、 "クリーンな" JSONを生成するためにシリアル化を使用しています。私の考えでは、 "this.currency"から "print out"へのフィールドをJSONに設定するのではなく、計算フィールドを使用してJSONフォーマットを直接指定していました。どんな考え? – Max
このフィールドを永続化することに関心がない場合や、状態を保持しない場合は、このフィールドを完全に削除しないでください。 String getCurrencyName() – emt14
または、シリアライザからexcludeメソッドを使用することもできます。新しいJSONSerializer()。exclude( "currencyName")。serialize( "Currency"、currency); – emt14