問題タブ [spray-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.
spray-json - スプレー Json デシリアライズ ルート シーケンス
ルート ノードのシーケンスである Json 文字列をデシリアライズしたい。例えば、
スプレー json を使用してそれを行うにはどうすればよいですか?
scala - スプレー コレクション ToResponseMarshallable
スプレー ルーティングの完全なディレクティブからリストを返そうとしています。
ただし、エラーが発生します-
Seq で同じエラーが発生しています。私は、List と Seq のマーシャラーが、spray-httpx のドキュメントでデフォルトで提供されていないことを確認しました。ただし、spray-json はその DefaultJsonProtocol でマーシャリング サポートを提供します。私は自分のコードにspray.httpx.SprayJsonSupport._とspray.json.DefaultJsonProtocol._をインポートしましたが、それも役に立ちませんでした。
スプレー json を使用して List/Seq をマーシャリングするにはどうすればよいですか? または、独自の Marshaller を作成する必要がありますか?
(私のscalaバージョンは2.11.4です)
json - Cryptic Spray Json エラー メッセージ
json を解析しようとすると、次のエラー メッセージが表示されます。
それが何を意味するのかよくわかりません。これが、解析しようとしているjsonの一部です。
そして、ここに私がそれを解析しようとしているケースクラスがあります:
リクエストを開始するメソッドは次のとおりです。
そして最後に、これは私がそのJson Requestを解析する方法です:
問題は、リクエストが単なる JSON オブジェクトではなく json 配列を返していることにあるのではないかと思いgetUnspentTXOs
ます。エラーメッセージは非常に曖昧なようです。スプレーは、json フィールドをケース クラスVector
内ではなく、内にラップしようとしているようです。UnspentTXO
なぜこれが起こっているのかはわかりません。
json - スプレー JSON - 異なる値を持つ可能性のあるフィールドを逆シリアル化します
配列または単一のオブジェクトである可能性のあるフィールドを使用して JSON を解析する際の問題に直面しています。ホテルに複数の部屋がある場合、通常の JsArray が返されます。ただし、部屋のタイプが 1 つしかない場合は、1 つのオブジェクトのみが返されます。
ケースクラス、特にこの状況の List[Room] を使用して、この状況を解析しようとしています。ただし、単一のオブジェクトのみが返される場合、これは失敗します。ケースクラスでこれを克服する方法はありますか? そうでない場合、この問題の解決策は何ですか?
どうもありがとうございました。
xml - scalaでxml配列をjsonデータに変換する方法
以下のように配列に xml データがあります。つまり、各行は配列内の 1 つの要素に対応します。
このxml配列をJSON形式に変換するには?
json - 非再帰ケースクラス用の単純な Scala JSON ライブラリ
文字列または文字列のコレクションのみを含むケース クラスがあり、それらを対応するフィールド名と型を示す追加フィールドを持つ JSON オブジェクトに変換したいと考えています。
ほとんどのライブラリはケースクラスを特別にサポートしていますが、それを追加のタイプフィールドと組み合わせて使用して同形のケースを明確にする方法はないようで、より低レベルの説明にフォールバックする必要があります。
これまでのところ、スプレー json とアルゴノートを試してみましたが、単純な使用シナリオが正当化するよりもはるかに多くのボイラープレートができてしまいました。
アルゴナウトの場合DecodeResult
、フィルターメソッドがないため、タイプフィールドを一致させる方法さえわかりませんでした:
これをより適切に処理できる別のライブラリはありますか、それとも私が見落としていたこれらのライブラリのいずれかにボイラープレートを大幅に削減する機能がありますか?
mongodb - 任意の JSON ブランチを持つ Reactivemongo BSON ライター/リーダー (スプレーも使用)
スプレーを使用して REST API を構築しています。このケースクラスを除いて、すべてがうまく機能しています:
ここでの重要な問題はdata
パラメーターです。これには、任意の数のメンバー、タイプ、およびレベルを持つ json オブジェクトが含まれていますが、それでも有効な json です。
スプレーを使用すると、次を使用して要求/応答を適切にシリアル化/逆シリアル化できます。
問題は、reactivemongo の BSON の読み書きです。これらを完了する方法がわかりません:
???の場所で、この任意の JSON ブランチを取得して、reactivemongo 用に BSON を適切にシリアル化/逆シリアル化するにはどうすればよいですか?
scala - スプレークライアントでのアンマーシャラーの暗黙の解決
私はパイプラインを持っています:
コンパイラは彼ができないと言いますfind implicit value for parameter unmarshaller: spray.httpx.unmarshalling.FromResponseUnmarshaller[MyCustomType]
私はここでスプレードキュメントのサンプルのようにそれをやった. 暗黙を解決できないのはなぜですか?
EDIT
val pipeline = sendReceive ~> unmarshal[MyCustomType]
は、匿名クラスのメソッドから使用されます。その匿名クラスですべてのjsonFomatsを宣言すると(つまり、匿名クラスMyJsonProtocol
に置き換えるものを意味します)、すべて正常に機能することがわかりました。
質問は、これが匿名クラスで機能しない理由です。
scala - json フィールドがオプションの場合に SprayJson を使用する
私は Scala restful API を作成しており、SprayJson を使用して、Post 呼び出し中に渡される JSON を解析しています。たとえば、次のような JSON 構造があります。
フィールド a、b、c、および h は必須ですが、他のフィールドは必須ではありません。ケース クラス用のカスタム JSON フォーマッタがあります。さまざまな理由から、ケース クラスを構造化するには、カスタムの JSON フォーマッタを使用する必要があります。
フォーマッタの読み取り関数のコード スニペットを次に示します。
入ってくる可能性のあるフィールドのすべての可能な順列に一致する多数のケース文字列を持たずに上記を実装するにはどうすればよいですか?