問題タブ [play-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 投票する
1 に答える
309 参照

json - Scala PlayJson 循環リファレンス

環境

私は、階層内のアイテムであるケースクラスを持っています。これは、次のようにそれ自体を参照します。

これには PlayJsonFormatが必要です。

通常、次のことができます。

しかし、これはうまくいきません。

なんで?

PlayJson は Scala マクロを使用してcaseFormatクラスのchildrenNode


質問

これにアプローチする最良の方法は何ですか?
これは PlayJson 形式のマクロの既知の問題ですか?

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

json - json ファイルからケースクラスを抽出する scala play

私のデータをjsonからケースクラスに抽出しようとしていますが、成功していません。

Json ファイル:

私のコード:

これを実行した後、r1の中に入ります:

JsError(List((/elements,List(ValidationError(List(error.path.missing),WrappedArray()))), (/name,List(ValidationError(List(error.path.missing),WrappedArray())) ), (/location,List(ValidationError(List(error.path.missing),WrappedArray())))))

このデータを永遠に抽出しようとしています。アドバイスしてください

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

json - Scala ケースには 22 個のフィールドがありますが、scala 2.11.5 の play-json に問題があります

現在、scala 2.11.5 を使用しており、私のクラスの 1 つには 22 のフィールドがあります。

周りを見回すと、解決策に出くわし、それを適用しました

このリンクからフォローして試したことは確かです。残念ながら、それは機能しておらず、まだエラーが発生しています

誰かが 22 のフィールドを分割する他の方法を提案できますかRead?

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

json - シーケンスの読み取り時に JSON 読み取りエラーを再生する

私は次のケースクラスを持っています:

これは、データベースから取得した JSON です。

次のように検証しようとしたとき (ここで、virtualAssetConfigParam はデータベースから取得した文字列です):

検証結果として次の結果が得られます。

何が問題ですか?これが失敗する理由がわかりませんでした。

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

scala - 誰かがこのコードの実行方法を説明できますか?

unmarshalValueJs 関数を使用して引数を渡す createUser または updateUser はどうですか。

create User が unmarshalJsValue に渡すものは何ですか? リソースはどこから来るのですか?

ここのRは何ですか?createUser には何が返されますか?

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

json - Play JSON Reads[T]: JsArray を複数のサブセットに分割します

イベントの配列を含む JSON 構造があります。Aこの配列は、次の 3 つのイベント タイプが考えられるという意味で「多態的」BですC

3 つのイベント タイプのオブジェクト構造は同じではないReadsため、それぞれに異なるオブジェクト構造が必要です。それとは別に、JSON ドキュメント全体のターゲット ケース クラスは、イベントを区別します。

Reads[Doc]の内部を定義して、json 配列が、およびeventsにマップされる 3 つのサブセットに分割されるようにするにはどうすればよいですか?aEventsbEventscEvents


私がこれまでに試したこと(成功せずに):

最初に、オリジナルを、特定のタイプのイベントのみを含む別のイベントReads[JsArray]に変換するを定義しました。JsArrayJsArray

次に、アイデアは次のように使用することですReads[Doc]

とはいえ、ここから先はどうなるかわかりません。パーツは次のandThenようになるはずです(イベントaの場合):

しかし、API が の代わりにaSeq[EventA]を明示的に渡すことによってを作成することを期待しているため、それは機能しません。それとは別に、私はそれを実行したことがないので、そもそもこのアプローチ全体が合理的かどうかはわかりません.Reads[EventA]Reads[Seq[EventA]]

編集:オリジナルJsArrayに不明なイベント タイプ (例:DおよびE) が含まれている場合、これらのタイプは無視され、最終結果から除外されます (全体Readsが失敗するのではなく)。