ページ内ナビ
概要
MoshiはAndroid、Java、Kotlin向けのJSONライブラリです。JsonAdapterでJSONの読み書きを型へ結び付け、組み込み型、独自アダプター、Kotlin向けリフレクションまたはコード生成を組み合わせてデータ変換を構成できます。
特徴と向いている用途
公式資料に基づく紹介・実機未検証 · 内容確認日:
主な特徴
JsonAdapterでJSONと型の変換を一か所にまとめる
Moshiはプリミティブ型、コレクション、String、enumなどの組み込み型を扱い、モデル型ごとにJsonAdapterを取得してfromJson/toJsonを実行できます。読み込みと書き出しの規則を同じアダプターへまとめられます。
出典:[2]
向いている用途
Android/JVMのAPIレスポンスを明示的なモデルへ変換したい場合に向く
HTTP APIのJSONをKotlin/Javaモデルへ変換し、未知の値やnull、独自形式の扱いをアダプター単位で制御したいアプリやライブラリに適します。
出典:[2]
導入前の確認
参考にした公式資料
- [1]square/moshi — GitHub repository(2026-10-06)
- [2]Moshi 1.15.2 — README(2026-10-06)
- [3]Moshi 1.15.2 — CHANGELOG(2026-10-06)
- [4]Moshi current CHANGELOG(2026-10-06)
- [5]Moshi Apache-2.0 license(2026-10-06)
編集部からの補足
Android/JVMでAPIモデルとJSONの境界を明示したい場合に扱いやすいライブラリです。KotlinモデルではリフレクションとKSPコード生成のどちらを採用するかを決め、2.xプレビュー版は1.x安定版と分けて評価してください。
3ステップで試す
- 1
Moshi 1.15.2のKotlinアダプターを追加する
安定版1.15.2を固定し、最小確認ではKotlinJsonAdapterFactoryを使うリフレクション方式を選びます。
implementation("com.squareup.moshi:moshi-kotlin:1.15.2") - 2
Moshiと型付きアダプターを作る
Kotlinモデル用のKotlinJsonAdapterFactoryを登録し、User型のJsonAdapterを取得します。
import com.squareup.moshi.Moshi import com.squareup.moshi.adapter import com.squareup.moshi.kotlin.reflect.KotlinJsonAdapterFactory data class User(val name: String) val moshi = Moshi.Builder().addLast(KotlinJsonAdapterFactory()).build() val adapter = moshi.adapter<User>() - 3
JSONをKotlinオブジェクトへ変換する
fromJsonで最小JSONを読み込み、Userオブジェクトへ変換できることを確認します。
println(adapter.fromJson("""{"name":"Moshi"}"""))
成長
成長の推移 · 直近30日
10,165 Stars
推移データを蓄積中です。
開発アクティビティ
直近90日・週次
- Commit(直近30日)
- 0
- Open PR
- 19
開発アクティビティを蓄積中です。
Built with
カテゴリとタグ
カテゴリ
GitHubデータ
GitHubのデータGitHubの詳細データを見る
- Stars
- 10,165
- Forks
- 811
- Watchers
- 182
- Open Issues
- 94
- Contributors
- 83
- 所有者種別
- Organization
- 主要言語
- Kotlin
- ライセンス
- Apache-2.0
- リポジトリ最終更新
- 2026/10/01
関連情報
関連記事を投稿するこのOSSの使い方や活用事例をMarkdownで投稿できます。管理者が承認した後に公開されます。
あわせて探訪
- AndroidX Test1,226 Stars
共通タグ 3件 · 共通カテゴリ 1件
AndroidJUnitRunner・Espresso・Test Coreを組み合わせ、device上のinstrumented testとUI testを構築する
Java - Kotlin53,479 Stars
共通タグ 3件 · 同じ言語
Java資産を活かしながらJVMからAndroid・iOS・desktop・Webへ広げる
Kotlin - OkHttp47,086 Stars
共通タグ 3件 · 同じ言語
Android/JVMのHTTP・TLS・接続再利用・DNSを一つのtransport layerへまとめる
Kotlin - REST Assured7,141 Stars
共通タグ 3件
JavaのDSLでREST APIへrequestを送り、status・header・JSON/XML bodyを検証する
Java - ZEN Engine2,037 Stars
共通タグ 3件
業務判断を一つのJSONで定義し、複数の実行環境へ届ける
Rust - LeakCanary30,005 Stars
共通タグ 2件 · 共通カテゴリ 1件 · 同じ言語
Androidアプリの保持オブジェクトを追跡し、メモリリークの経路を示す
Kotlin
情報の誤りを報告
掲載内容に誤りや古い情報があればお知らせください。