問題タブ [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.
json - Play2がJSONの暗黙の読み取りまたはフォーマットを見つけられない
これは私の検索オブジェクトです:
WSを使用してWebサービスを呼び出すときに、このクラスを使用しようとしています。
しかし、scalaコンパイラーはこの行に文句を言い続けます:
タイプmodels.helper.SearchのJsonデシリアライザーが見つかりません。このタイプの暗黙的な読み取りまたはフォーマットを実装してみてください。
誰かが私が間違っていることを教えてもらえますか?
- https://sites.google.com/site/play20zh/scala-developers/working-with-jsonから例を取得しました
- このスレッドは同じ問題について説明していますが、解決策はありません。どのサイトでどのような例がありますか?https://groups.google.com/forum/?fromgroups#!topic/play-framework/WTZrmQi5XxY
json - play.api.libs.json を使用してオブジェクトを json にシリアライズする
いくつかの比較的単純なモデルを json にシリアル化しようとしています。たとえば、次の json 表現を取得したいと思います。
適切な読み取りおよび書き込みメソッドを使用して独自の Format[User] を記述する必要がありますか、それとも他の方法がありますか? https://github.com/playframework/Play20/wiki/Scalajsonを見てきましたが、まだ少し迷っています。
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]
でしょうか? そして、上記のメカニズムは実際にどのように機能するのでしょうか?
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 ) も、私が取ったアプローチを示唆しているようです。
誰かが私の間違いを見つけますか?
どうもありがとう、
ジョエル
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 についてはまったくの初心者で、これまでのところ答えを見つけることができませんでした。これは非常に単純な使用例のように思えます。実際には、より単純な解決策 (注釈など) があることを望んでいましたが、見つけることができませんでした (少なくともまだ)。
どんな助けでも大歓迎です!
ありがとう
json - Play Framework 2.1.1 Json ネストされたオブジェクトを書き込みます
Play 2.1.1 では、Json の読み取りと書き込みの仕組みがオーバーホールされました。
基本的に、次のようなラッパー オブジェクトがあります。
ご覧のとおり、json にシリアライズおよびデシリアライズしたい 2 つのクラスが含まれています。
しかし、新しいデザインを使用してサブクラスのフィールドを取得および設定する方法がわかりません。
例えば
ほとんどのサブクラス フィールド、すべての文字列を含む json blob が必要です。
適用するものを使用しているため、マッピングの前にサブクラスを作成する方法がわかりません。
どんな助けや指導も大歓迎です。
ありがとう
トム
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]]
私は他に何をしようとしているのか途方に暮れています。どんな援助でも大歓迎です。
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 を変換しようとしています。
の中へ:
私が使用したテンプレートメソッドは次のとおりです。
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 の読み取りをどのように記述しますか? また、どうすれば一般的な方法でそれを行うことができますか?
助けてください。