問題タブ [playframework-json]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
2 に答える
1557 参照

json - Scala Play JSON 読み取りの定数値

JSON 読み取りを介してオブジェクトを構築するときに、定数値を使用したいと思います。

たとえば、クラスは次のようになります。

そして、読み取りは次のようになります。

しかし、JSON オブジェクトで userId の値を指定する必要はありません。-1 の値が、読み取られる JSON オブジェクトで指定せずに UserInfo オブジェクトで常に作成されるように、Reads をコーディングするにはどうすればよいでしょうか?

0 投票する
2 に答える
423 参照

json - Play Writes で Map をシリアル化するときに、ネストされた配列を回避するにはどうすればよいですか?

Play の Json ライブラリを使用してマップをシリアル化しようとしています。マップ用の書き込みがないため、独自の書き込みを作成しました。

出力は次のとおりです。

ご覧のとおり、アイテムの周りに 2 組の [ ] があります。マップで Wrapper クラスを使用すると、[ ] のペアが 1 つしか得られません。

出力:

ラッパークラスなしでそれを達成する方法はありますか?

0 投票する
1 に答える
1670 参照

json - 非暗黙的な書き込みはオプションを処理できません (Scala、JSON、Play 2.3.6)

私はこのようなケースクラスを持っています:

そして、私はこのような非暗黙の書き込みを持っています:

そして、Option[Product] のインスタンスがあります。

シリアル化しようとすると...:

次のようなエラーが発生しました。

だから、最初に(比較のために)私はこれを試しました:

できます:

しかし、私はそれをしたくありません(.getを呼び出します)。Writes が暗黙的として宣言されている場合と同じように作業する必要があります。

(その暗黙の書き込みで、この行は機能します):

私は何が欠けていますか?


追記:

私の暗黙の書き込みは不完全です。意図的に最後の 2 つのフィールド (purchasePrice と SellingPrice) を削除しました。理由: このコードはコンパイルされません:

}

私はこのエラーを出します:

前もってありがとう、ラカ

0 投票する
1 に答える
237 参照

json - Play Framwork Json Reads によって提供される自動キャストを回避するが、代わりに例外を取得する方法

キャストが可能な場合、読み取りは自動キャストを行うようです。例: Float -> Int。たとえば、コードが次のように json を取得する場合、

クラス Person のインスタンスは、無効な引数の例外を取得する代わりに、22 のフィールド age を持ちます。その場合に例外が必要な場合、最善の解決策は何ですか? ありがとう。

0 投票する
2 に答える
1966 参照

scala - 読み取った値は play.api.libs.json.JsValue のメンバーではありません

このエラーが発生したとき、Play Frameworks の Scala Json api Docs に従っていました:

読み取った値は play.api.libs.json.JsValue のメンバーではありません

私の輸入品は:

メソッドスローエラーは次のとおりです。

読み取りメソッドなしで完全に正常に動作

0 投票する
1 に答える
285 参照

json - 抽象クラスを拡張するときにJsonの書き込みが機能していないようです

ケースクラスの継承元の基本クラスがあり、通常の Json.writes を使用すると、継承されたフィールドが含まれていないようです。

その場合、json 応答には、BaseResponse クラスからの成功フィールドとメッセージ フィールドが含まれません。

これが機能する可能性はありますか、それとも書き込みフォーマッターを手動で書き出す必要がありますか?