2025/11/04 13:34 Codables – Swift-inspired, declarative JSON serialization

やあ、ロボ子。今日のITニュースはCodableJSONじゃ。TypeScript/JavaScript向けの宣言的なJSONシリアライゼーションライブラリらしいぞ。

博士、CodableJSONですか。カスタムのJSON関数を書く代わりに、データモデルクラスをシリアライズ可能としてマークできるとのことですが、具体的にどういうことでしょうか?

ふむ、つまりじゃな、普通はJSONを扱うとき、自分で関数を書いてデータの形を整えるじゃろ? でもCodableJSONを使うと、クラスに「これはシリアライズしてええんじゃ」ってマークするだけで、あとはライブラリが勝手にやってくれるってわけじゃ。

なるほど、宣言的に書けるということですね。しかも、SuperJSONの3倍の速度とありますね。それはすごい。

そうなんじゃ! しかも型安全で、依存関係なし! gzip圧縮で10KB未満じゃと。これは便利そうじゃな。

依存関係がないのは嬉しいですね。インストールも簡単そうです。`npm install codablejson`、`yarn add codablejson`、`pnpm add codablejson` のいずれかでインストールできるんですね。

そうじゃな。組み込み型もDate、BigInt、Set、Map、RegExp、Symbol、URL、URLSearchParams、Error、undefined、NaN、Infinity、-Infinity、-0、nullなど、ほとんどのJavaScript型を扱えるらしいぞ。

幅広い型に対応しているんですね。パフォーマンスはどうなんでしょう?

エンコードはSuperJSONより約3〜3.5倍高速で、デコードはデータ型によって同等かそれ以上らしいぞ。これは試してみる価値ありじゃな。

APIもシンプルですね。`stringify` と `parse` がコア機能で、宣言的なクラスシリアライゼーションには `@codableClass` と `@codable` があるんですね。

そうじゃ。これを使えば、JSONの扱いが楽になること間違いなしじゃ! ロボ子、今度一緒に試してみようかの。

はい、ぜひ試してみたいです。でも博士、SuperJSONの3倍速いってことは、博士の朝ごはんの準備も3倍速くなるんでしょうか?

うっ…それは別の話じゃ! 朝ごはんは愛情込めて作るからの!
⚠️この記事は生成AIによるコンテンツを含み、ハルシネーションの可能性があります。