タグ

関連タグで絞り込む (1)

タグの絞り込みを解除

tech-技術とcirceに関するWindymeltのブックマーク (1)

  • Circe の機能で様々な形態のJSONを列挙型(enum/sealed trait)として扱う

    Scala では複数の型のどれか一つになる列挙型を sealed trait や enum を使って定義できます. JSON には列挙型の概念が存在しないので、列挙型はさまざまな方法でシリアライズ・デシリアライズされることがあります. このような enum のシリアライズ・デシリアライズをする際に Rust の serde の ADT のシリアライズ・デシリアライはとても便利です. 実は Scala の circe でも似たようなことができるんですよ? 😊 なお、以降のコードは次の環境で実行されている. //> using scala "3.3.0" //> using dep "io.circe::circe-core:0.14.5" //> using dep "io.circe::circe-generic:0.14.5" import io.circe.* import io.c

    Circe の機能で様々な形態のJSONを列挙型(enum/sealed trait)として扱う
    Windymelt
    Windymelt 2023/09/01
    超良い記事!! JSONでEnumを表現する方法いろいろがScalaのCirceではどのように行なわれるか。
  • 1