私は、他のパラメーターの中でも、BigInt 16 進数値でインスタンス化されるケース クラスを使用しています。このケース クラスを使用して、Jerkson/Jackson 経由で JSON メッセージを逆シリアル化します。Jackson を使用する利点は、署名に基づいてケース クラスのデシリアライゼーションがすぐに使用できることです (推測します)。
現在、16 進エンコーディングの BigInt 値は、追加の基数パラメータ BigInt(hexValue, 16) でインスタンス化する必要があります。ただし、私の JSON メッセージにはそのようなパラメーターは含まれていません。ケースクラスの定義内でこの基数を定義して、ジャクソンが構成なしでクラスを引き続き使用できるようにするソリューションを探しています。何かのようなもの:
case class MyClass(name: String, hexValue: BigInt(hexValue, 16))
別の方法として、a) JSON デシリアライゼーション/シリアライゼーションを明示的に定義するか、b) BigInt の周りに独自のラッパー クラスを定義することを理解しています。ただし、よりエレガントで「スカラっぽい」ソリューションを探しています-もしあれば。
注: Int では不十分です。BigInt である必要があります。