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

json - Play2がJSONの暗黙の読み取りまたはフォーマットを見つけられない

これは私の検索オブジェクトです:

WSを使用してWebサービスを呼び出すときに、このクラスを使用しようとしています。

しかし、scalaコンパイラーはこの行に文句を言い続けます:

タイプmodels.helper.SearchのJsonデシリアライザーが見つかりません。このタイプの暗黙的な読み取りまたはフォーマットを実装してみてください。

誰かが私が間違っていることを教えてもらえますか?

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

json - play.api.libs.json を使用してオブジェクトを json にシリアライズする

いくつかの比較的単純なモデルを json にシリアル化しようとしています。たとえば、次の json 表現を取得したいと思います。

適切な読み取りおよび書き込みメソッドを使用して独自の Format[User] を記述する必要がありますか、それとも他の方法がありますか? https://github.com/playframework/Play20/wiki/Scalajsonを見てきましたが、まだ少し迷っています。

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

json - Play フレームワークでの読み取り、書き込み、およびフォーマットの使用

Play にいくつかのモデルがあります。JSON との間でシリアライズ/デシリアライズしたいアプリケーション。私はそのために別々の方法を持っていましたが、好ましい方法はFormats[T]orの暗黙的Reads[T]なインスタンスを与えることであることがわかりました。

ここで、モデルの JSON に正しいフィールドが含まれている場合がありますが、検証されません。この場合、デシリアライズできません。使用時json.as[Foo]またはNone使用時に例外が発生するはずjson.asOpt[Foo]です。

検証されないフィールドを見つけたときに例外をスローすると、すべてが期待どおりに機能しているように見えます。しかし、私はどの例外をスローする必要があるかを見つけようとすることに注意を払い、ソースでJsValueこれを見つけました

さて、これがどのように機能するのか理解できません。の暗黙的なインスタンスは、コンパニオン オブジェクトで自分自身によって提供されるため、例外を返すか例外をスローするかがfjsわかります。fjs.reads(this)Foo

これはどこfoldから来たのですか?それは確かに のメソッドではありませんFoo。暗黙の変換ができると思いますがAny、メソッドを使用して何かに変換する必要がfoldあるため、あまり興味深いものではありません。さらに悪いことにfjs.reads(this)、例外がスローされた場合、それをキャッチするものは何もありません!

では、のインスタンスで JSON の無効な入力をどのように処理すればよいReads[T]でしょうか? そして、上記のメカニズムは実際にどのように機能するのでしょうか?

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

json - Play Scala api と Json を使用してオブジェクトをシリアル化する

Scala を使用して Play 2.0 アプリケーションでモデルを Json にシリアライズしようとしています。これは私のコードがどのように見えるかです:

残念ながら、アプリケーションの実行時に次のエラーが発生します。

私はまだ解決策を見つけていません。API のドキュメント ( http://www.playframework.org/documentation/api/2.0/scala/play/api/libs/json/package.html ) も、私が取ったアプローチを示唆しているようです。

誰かが私の間違いを見つけますか?

どうもありがとう、
ジョエル

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

json - Play 2 での JSON の操作エラー

JSON と Play Framework 2.1.0 および Scala 2.10 を使用してシリアライズ/デシリアライズしようとしています。私は Anorm を使用しており、データベースに保存したい非常に単純なオブジェクトがあります。注文は非常に簡単です。

私のコントローラーでは、REST インターフェイスを構築して、Order インスタンス (上記) を JSON として受け入れて送信できるようにしようとしています。そこには、次のコードがあります。

ただし、次のように「プレイ テスト」を実行すると、これはコンパイルに失敗します。

タイプ (json: play.api.libs.json.JsValue)play.api.libs.json.JsResult[anorm.Pk[Long]]; [エラー] メソッドの読み取りに互換性のない型があります [エラー] def 読み取り(json: JsValue):Pk[Long] = Id(json.as[Long])

なぜこれが起こっているのか誰にも分かりますか?

私は JAXB の経験が豊富ですが、Play と Scala についてはまったくの初心者で、これまでのところ答えを見つけることができませんでした。これは非常に単純な使用例のように思えます。実際には、より単純な解決策 (注釈など) があることを望んでいましたが、見つけることができませんでした (少なくともまだ)。

どんな助けでも大歓迎です!

ありがとう

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

json - Play Framework 2.1.1 Json ネストされたオブジェクトを書き込みます

Play 2.1.1 では、Json の読み取りと書き込みの仕組みがオーバーホールされました。

基本的に、次のようなラッパー オブジェクトがあります。

ご覧のとおり、json にシリアライズおよびデシリアライズしたい 2 つのクラスが含まれています。

しかし、新しいデザインを使用してサブクラスのフィールドを取得および設定する方法がわかりません。

例えば

ほとんどのサブクラス フィールド、すべての文字列を含む json blob が必要です。

適用するものを使用しているため、マッピングの前にサブクラスを作成する方法がわかりません。

どんな助けや指導も大歓迎です。

ありがとう

トム

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

json - Play 2.1.1 で JSON の配列を反復処理する

play 2.1.1 を使用していますが、配列の反復処理に問題があります。List[Object] の読み取りを作成できることをどこかで読んだことがありますが、これを実行しようとするたびに、次"No unapply function found"の行でエラーが発生します

implicit val userListReads: Reads[List[FBUser]] = Json.reads[List[FBUser]]". The issue is " = Json.reads[List[FBUser]]

私は他に何をしようとしているのか途方に暮れています。どんな援助でも大歓迎です。

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

scala - トランスフォーマーを使用して Scala Play Framework 2.1 で JsArray をトリミングする方法

変更できない内部 Web サービスからインターネット クライアントへのネットワーク トラフィックを削減するために、JSON 応答を削減したいと考えています。

つまり、JSON 応答の特定のサブセットのみを抽出する Web サービス「リレー」です。

発生しているのは JSON をあるフォーマットから別のフォーマットに変換することだけなので、Play Framework 2.1 で新しい JSON Transformers を使用することをお勧めします ( http://www.playframework.com/documentation/2.1.1/ScalaJsonTransformersを参照) 。

難しさを増すために、応答は異なる JSON オブジェクトの配列であり、各オブジェクトから必要なフィールドは 2 つだけです。

具体的なダミーの例として、次の JSON を変換しようとしています。

の中へ:

私が使用したテンプレートメソッドは次のとおりです。

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

json - Scala Play Json 読み取り

以下のようなサンプルコードがあります。

JSON を Scala オブジェクト (この場合はビジネス クラス) に解析しようとすると、Json Validation Error が発生します。エラーは

JsError(List((/retailer,List(ValidationError(validate.error.missing-path,WrappedArray()))), (/preferredUrl,List(ValidationError(validate.error.missing-path,WrappedArray()))), (/name,List(ValidationError(validate.error.missing-path,WrappedArray()))), (/businessPhone,List(ValidationError(validate.error.missing-path,WrappedArray())))))

ただし、私のjsonが次のような場合

外側の括弧 "{" と "business:" キーが削除されていることに注意してください。JsSuccess を取得します。最初のケースのように、Json の読み取りをどのように記述しますか? また、どうすれば一般的な方法でそれを行うことができますか?

助けてください。