ページ内ナビ
概要
kotlinx.serializationは、Kotlinの型をJSONなどのデータ形式へ変換し、元の型へ戻すコードを生成する公式ライブラリです。コンパイラプラグインが@Serializableを付けたクラス向けの処理を生成し、実行時ライブラリが形式ごとの読み書きを担います。JVM、JS、Nativeを含むマルチプラットフォームの共通コードで利用できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
型定義を基準にJSON、Protocol Buffers、CBORなどを扱う
@Serializableを付けたKotlinクラスと標準コレクションを対象に、リフレクションへ依存しない変換コードを生成します。公式の形式ライブラリはJSON、Protocol Buffers、CBOR、HOCON、Propertiesを扱い、Json.encodeToStringとJson.decodeFromStringのようなAPIで型付きデータを往復できます。
出典:[1]
向いている用途
共有モデルを複数の実行環境やデータ形式で再利用したい場合に向く
Kotlin Multiplatformの共通モデルをJVM、JS、Nativeで共有するアプリや、API通信、設定、保存データを型安全に読み書きしたいプロジェクトに向きます。JSONを入口にしつつ、同じ型定義をProtocol BuffersやCBORへ展開したい場合にも適しています。
出典:[1]
導入前の確認
参考にした公式資料
- [1]Kotlin/kotlinx.serialization — README 1.11.0(2026-10-04)
- [2]Kotlin/kotlinx.serialization — CHANGELOG 1.11.0(2026-10-04)
- [3]kotlinx.serialization 1.11.0 release(2026-10-04)
- [4]Kotlin/kotlinx.serialization — LICENSE(2026-10-04)
編集部からの補足
データ形式ごとに手作業の変換コードを増やさず、Kotlinの型を中心に読み書きを統一できる点に注目しました。コンパイラプラグインと実行時ライブラリは版番号の体系が異なるため、更新計画では別々に確認してください。
3ステップで試す
- 1
コンパイラプラグインを有効にする
既存のKotlin/JVM Gradleプロジェクトで、Kotlinとserializationプラグインの版を2.3.20にそろえます。
plugins { kotlin("jvm") version "2.3.20" kotlin("plugin.serialization") version "2.3.20" } - 2
JSONライブラリを追加する
Gradleのdependenciesブロックへ追加し、mavenCentral()を利用します。
implementation("org.jetbrains.kotlinx:kotlinx-serialization-json:1.11.0") - 3
型をJSONへ変換して戻す
kotlinx.serialization.*とkotlinx.serialization.json.*を読み込み、Projectをファイル直下に宣言し、変換処理をmain関数内で実行します。
@Serializable data class Project(val name: String, val language: String) fun main() { val text = Json.encodeToString(Project("demo", "Kotlin")) println(Json.decodeFromString<Project>(text)) }
成長
成長の推移 · 直近30日
5,946 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 2
- Open PR
- 38
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
GitHub Topics
- kotlin
- serialization
- json
- cbor
- protobuf
- Stars
- 5,946
- Forks
- 685
- Watchers
- 100
- Open Issues
- 268
- Contributors
- 198
- 所有者種別
- Organization
- 主要言語
- Kotlin
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/01
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- QGIS14,456 Stars
共通タグ 2件
spatial dataの編集・解析・cartography・server配信を一つのGIS platformで扱う
C++ - REST Assured7,140 Stars
共通タグ 2件
JavaのDSLでREST APIへrequestを送り、status・header・JSON/XML bodyを検証する
Java - ZEN Engine2,034 Stars
共通タグ 2件
業務判断を一つのJSONで定義し、複数の実行環境へ届ける
Rust - Node.js122,253 Stars
共通タグ 1件 · 共通カテゴリ 2件
JavaScriptでAPIサーバー・CLI・開発ツールを動かす実行環境
JavaScript - Timber10,852 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Androidのログ出力を小さなAPIと交換可能な出力先で整理するKotlinライブラリ
Kotlin - Koin10,022 Stars
共通タグ 1件 · 共通カテゴリ 1件 · 同じ言語
Kotlin・Android・Kotlin MultiplatformでDSL中心の軽量dependency injectionを構成する
Kotlin
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。