問題タブ [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.

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

spray-json - スプレー Json デシリアライズ ルート シーケンス

ルート ノードのシーケンスである Json 文字列をデシリアライズしたい。例えば、

スプレー json を使用してそれを行うにはどうすればよいですか?

0 投票する
3 に答える
5309 参照

scala - スプレー コレクション ToResponseMarshallable

スプレー ルーティングの完全なディレクティブからリストを返そうとしています。

ただし、エラーが発生します-

Seq で同じエラーが発生しています。私は、List と Seq のマーシャラーが、spray-httpx のドキュメントでデフォルトで提供されていないことを確認しました。ただし、spray-json はその DefaultJsonProtocol でマーシャリング サポートを提供します。私は自分のコードにspray.httpx.SprayJsonSupport._とspray.json.DefaultJsonProtocol._をインポートしましたが、それも役に立ちませんでした。

スプレー json を使用して List/Seq をマーシャリングするにはどうすればよいですか? または、独自の Marshaller を作成する必要がありますか?

(私のscalaバージョンは2.11.4です)

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

json - Cryptic Spray Json エラー メッセージ

json を解析しようとすると、次のエラー メッセージが表示されます。

それが何を意味するのかよくわかりません。これが、解析しようとしているjsonの一部です。

そして、ここに私がそれを解析しようとしているケースクラスがあります:

リクエストを開始するメソッドは次のとおりです。

そして最後に、これは私がそのJson Requestを解析する方法です:

問題は、リクエストが単なる JSON オブジェクトではなく json 配列を返していることにあるのではないかと思いgetUnspentTXOsます。エラーメッセージは非常に曖昧なようです。スプレーは、json フィールドをケース クラスVector内ではなく、内にラップしようとしているようです。UnspentTXOなぜこれが起こっているのかはわかりません。

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

json - スプレー JSON - 異なる値を持つ可能性のあるフィールドを逆シリアル化します

配列または単一のオブジェクトである可能性のあるフィールドを使用して JSON を解析する際の問題に直面しています。ホテルに複数の部屋がある場合、通常の JsArray が返されます。ただし、部屋のタイプが 1 つしかない場合は、1 つのオブジェクトのみが返されます。

ケースクラス、特にこの状況の List[Room] を使用して、この状況を解析しようとしています。ただし、単一のオブジェクトのみが返される場合、これは失敗します。ケースクラスでこれを克服する方法はありますか? そうでない場合、この問題の解決策は何ですか?

どうもありがとうございました。

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

xml - scalaでxml配列をjsonデータに変換する方法

以下のように配列に xml データがあります。つまり、各行は配列内の 1 つの要素に対応します。

このxml配列をJSON形式に変換するには?

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

json - 非再帰ケースクラス用の単純な Scala JSON ライブラリ

文字列または文字列のコレクションのみを含むケース クラスがあり、それらを対応するフィールド名と型を示す追加フィールドを持つ JSON オブジェクトに変換したいと考えています。

ほとんどのライブラリはケースクラスを特別にサポートしていますが、それを追加のタイプフィールドと組み合わせて使用​​して同形のケースを明確にする方法はないようで、より低レベルの説明にフォールバックする必要があります。

これまでのところ、スプレー json とアルゴノートを試してみましたが、単純な使用シナリオが正当化するよりもはるかに多くのボイラープレートができてしまいました。

アルゴナウトの場合DecodeResult、フィルターメソッドがないため、タイプフィールドを一致させる方法さえわかりませんでした:

これをより適切に処理できる別のライブラリはありますか、それとも私が見落としていたこれらのライブラリのいずれかにボイラープレートを大幅に削減する機能がありますか?

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

mongodb - 任意の JSON ブランチを持つ Reactivemongo BSON ライター/リーダー (スプレーも使用)

スプレーを使用して REST API を構築しています。このケースクラスを除いて、すべてがうまく機能しています:

ここでの重要な問題はdataパラメーターです。これには、任意の数のメンバー、タイプ、およびレベルを持つ json オブジェクトが含まれていますが、それでも有効な json です。

スプレーを使用すると、次を使用して要求/応答を適切にシリアル化/逆シリアル化できます。

問題は、reactivemongo の BSON の読み書きです。これらを完了する方法がわかりません:

???の場所で、この任意の JSON ブランチを取得して、reactivemongo 用に BSON を適切にシリアル化/逆シリアル化するにはどうすればよいですか?

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

scala - スプレークライアントでのアンマーシャラーの暗黙の解決

私はパイプラインを持っています:

コンパイラは彼ができないと言いますfind implicit value for parameter unmarshaller: spray.httpx.unmarshalling.FromResponseUnmarshaller[MyCustomType]

私はここでスプレードキュメントのサンプルのようにそれをやった. 暗黙を解決できないのはなぜですか?

EDIT val pipeline = sendReceive ~> unmarshal[MyCustomType]は、匿名クラスのメソッドから使​​用されます。その匿名クラスですべてのjsonFomatsを宣言すると(つまり、匿名クラスMyJsonProtocolに置き換えるものを意味します)、すべて正常に機能することがわかりました。

質問は、これが匿名クラスで機能しない理由です。

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

scala - json フィールドがオプションの場合に SprayJson を使用する

私は Scala restful API を作成しており、SprayJson を使用して、Post 呼び出し中に渡される JSON を解析しています。たとえば、次のような JSON 構造があります。

フィールド a、b、c、および h は必須ですが、他のフィールドは必須ではありません。ケース クラス用のカスタム JSON フォーマッタがあります。さまざまな理由から、ケース クラスを構造化するには、カスタムの JSON フォーマッタを使用する必要があります。

フォーマッタの読み取り関数のコード スニペットを次に示します。

入ってくる可能性のあるフィールドのすべての可能な順列に一致する多数のケース文字列を持たずに上記を実装するにはどうすればよいですか?