問題タブ [flexjson]
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.
java - flexjsonを使用したオブジェクトのリストのシリアル化
私はとで遊んでいflexjson
ますGoogle Cloud Endpoints
。シリアル化する必要がある私のモデルは次のとおりです。
DateTimeObjectFactory
オブジェクトを作成する方法を見つけるために作成しましたDateTime
(argコンストラクターがない)。今、私はとについても質問がOtherModel
ありSampleModel
ます。
List
実際にのをシリアル化したいSampleModel
。だからここに私のコードがあります:
deepSerialize
シリアル化されていないフィールドを避けるために、今のところはそれを実行したいのですが、今のところは。
デシリアライズしたいときは、次のs
ようにします。
ログで逆シリアル化されたオブジェクトを見ることができるので、その種の逆シリアル化ではすべてが問題ないと思います。しかし実際、その新しいアイテムからアイテムを取得したい場合sampleList
、エラーが発生します。
私がよく理解していれば、重要なオブジェクトはすべてMap
、適切なクラスをデシリアライザーに向けていないかのようにデシリアライズされます。したがって、このエラーは、スクリプトが認識していなかったことを意味しますSampleModel
か?これはどういう意味ですか?
java - 主キーのみを使用して、参照された永続クラスを JSON にシリアル化する方法
クラス Foo (永続化可能) を flexjson を使用して JSON にシリアライズしたいと思います (必要な機能をサポートする他のライブラリを知っている場合は、声を上げてください)。クラス Bar と FooBar への依存参照を含めたいのですが、主キー (@Id) を表すフィールドのみが必要です。これはすべての永続クラスに対して手動で実行できることはわかっていますが、もっと良い方法があると確信しています。
これが私のクラス表現の例です:
クラスFooをシリアライズするときに探している出力は次のとおりです。
クラスBarをシリアライズするとき:
一時的な解決策を見つけましたが、まだ「正しい/より良い」解決策を探しています
java - FlexJSON はデフォルトでアルファベット順に並べ替えます
Play Framework で FlexJSON 2.1 を使用する場合、カスタムオーダーを使用するにはどうすればよいですか? 今私は持っています:
そして、アルファベット順に印刷されます。
このSO 投稿を見つけましたが、@XMLRootElement として定義されたクラスはありません。FlexJSON にカスタム順序を使用するように指示するにはどうすればよいですか?
java - Flex JSON が LinkedHashMap を適切にシリアライズ/デシリアライズできない
次のように LinkedHashMap データをシリアライズおよびデシリアライズしようとしました。
そして私は ClassCastException を取得します:
したがって、次のように逆シリアル化するときに、少し異なるアプローチを試みました。
今回は結果が得られますが、マップは順不同です(現在HashMapを使用しているためだと思います)。また、元の形式のように BigDecimal 値が表示されません。
FlexJSON にはソートされたマップに問題があるようです。これは、以下の例のように「クラス」エントリを配置する方法がないためだと思います。
または、これを行う別の方法があるかもしれません。誰でも助けてもらえますか?ありがとうございました
chubbsondubs の提案に従って ObjectFactory を導入した後:
値オブジェクトには HashMap タイプがあり、次のように出力されます。
java - FlexJSON 出力のフラット化
というクラスがあり、ClassOne
ゲッター/セッターを持ついくつかのフィールドがあり、そのうちの 1 つは別のクラスのオブジェクトですClassTwo
。次のように、FlexJSON を使用してClassOne
オブジェクトをシリアル化しようとしています。
私の問題は、結果の JSON が次のようになることです。
パーツは、JSON 内のclassTwo.description
独自の個別のオブジェクトに配置されています。しかし、ClassTwo は本質的に単なる実装の詳細です。結果を次のように平らにしたい:
classOne
オブジェクトの表現にフラット化されている限り、「説明」の部分が「classTwo.description」と読めても問題ありません。
FlexJSON でこれを行う方法はありますか? Transformerのものはできるはずですが、私はライブラリに慣れていないため、確信が持てず、方法を理解できません。
java - java.lang.Class をデシリアライズする Flexjson のセキュリティ問題、コンストラクターにアクセスできない
タイプ のオブジェクトをシリアル化できますGenericContainer
が、逆シリアル化すると、セキュリティ例外が発生します (以下を参照)。問題は、java.lang.Class
Flexjson が必要とするデフォルト (引数なし) コンストラクターがないことだと思われます。これを回避する方法はありますか?
例外...
java - Flexjson - Map を含む複雑な階層をシリアル化する方法
Flexjsonを使用して、リストを含むオブジェクト (「ペイロード」) をシリアル化しようとしています。各 MyBean には、Map> であるフィールド「items」があります。この Payload オブジェクトをシリアル化すると、マップ フィールド ("items") が空になります。
}
ただし、MyBean オブジェクトを直接シリアル化すると、正常に動作します。
}
助言がありますか?