問題タブ [json4s]
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.
scala - json4sを使用してトレイトミックスインでケースクラスをシリアライズする
json4sGame
を使用してシリアル化/逆シリアル化するのに問題のないケース クラスがあります。
私のアプリでは、ORM としてmapperdaoを使用しています。私が持っていないサロゲートIDGame
を使用しているため、そのコンストラクターの一部を持っていません。id
ただし、mapperdao が DB からエンティティを返すとき、トレイトを使用して永続化されたオブジェクトの ID を提供します。
Game with SurrogateIntId
特性のコードは
シリアル化しようとするとGame with SurrogateIntId
、空の括弧が返されます。これは、json4s が添付された特性を処理する方法を知らないためだと思います。
game
id
T with SurrogateIntId
すべてのドメイン オブジェクトに対してこれらを使用するのとほぼ同じくらい重要なことに、そのプロパティに追加されたものだけをシリアル化する方法が必要です。
誰でも私を助けることができますか?
scala - json4s で under_score 形式と camelCase 形式を選択する
アンダースコア付きのjsonをケースクラスのcamelCaseフィールドにマップするにはどうすればよいですか?
私が得るエラー:
someField に使用できる値がありません java.lang.String に変換できる値が見つかりませんでした
json - for 式を使用して null の可能性がある JSON 値からオプションを抽出する
一部の値が null になる可能性がある JSON ドキュメントがあります。json4s の for 式を使用して、何も生成しない代わりに、どのように None を生成できますか?
フィールドFormattedID
またはのいずれかの値が である場合、以下PlanEstimate
は生成されませんnull
。
例えば:
scala - json4s でポリモーフィック型を抽出する
Scala コードで JSON オブジェクトを操作するために json4s を使用しています。JSON データを内部表現に変換したいと考えています。次の学習テストは、私の問題を示しています。
動物のリストを持つ JSON オブジェクトがあるとします。Animal
は抽象型であるため、インスタンス化できません。Dog
代わりに、JSON 構造を解析して、またはBird
オブジェクトのいずれかを返したいと考えています。それらは異なる署名を持っています:
それらの署名は異なるため、JSON オブジェクトにクラス タグがなくても識別できます。(正確には、私が受け取った JSON 構造はそれらのタグを提供しません)。
Animal オブジェクトのリストをシリアル化しようとしました (コードを参照)。結果は次のとおりです。Ser: {"animals":[{"jsonClass":"Dog","name":"pluto"},{"jsonClass":"Bird","canFly":true}]}
ご覧のとおり、シリアル化するときに、json4s は class-tag を追加しjsonClass
ます。
このようなタグを提供しない JSON オブジェクトをデシリアライズするにはどうすればよいですか? 拡張することでこれを達成することは可能TypeHints
ですか?
同様の質問も見つけました: [json4s]:Extracting Array of different objects with a solution that uses generics instead of subclassing. ただし、私が正しく理解していれば、このソリューションでは単純に json オブジェクトを渡して内部表現を持つことはできません。代わりに、そうでないフォームを選択する必要がありますNone
(継承階層で可能なすべてのタイプをチェックしながら)。JSON 構造のさまざまな深さに複数のポリモーフィック クラスがあるため、これは少し面倒です。
json - json4s は mixin 特性を持つケース クラスをシリアル化できません
これが機能しないのはなぜですか?
これは空の JSON オブジェクトを出力します
「with Greet」を削除すると、(正しい)結果が得られます。
json - json4sを使用してscalaで再帰的なデータ構造を抽出する際の問題
キーごとに任意の数のマップの map -> map -> ... -> int で構成される json 形式があります。キーは常に文字列で、リーフ タイプは常に int です。マップ構造の深さは、マップ内のキーごとに異なります。たとえば、キー「A」は Map[String, Int] 型で、キー「B」は Map[String, Map[String, Int]] 型です。この形式を Map[String, Any] として正常に解析できることはわかっていますが、これらの構造を後でコードでマージしやすくするために型を保持しようとしています。
json4s 抽出でエラーをスローしないように、ネストされた構造を定義できないようです。問題が構造定義にあるのか、それとも json 抽出を正しく行っていないのか、よくわかりません。
ここにコードがあります
いつも出てくるエラーはこちら
NestedMap を拡張する別の値を追加する必要がありますか? 私はこれについて完全に間違っていますか?どんな助けでも大歓迎です。