登录 注册
其他
10,165
Stars
819
Forks
179
Watchers
115
Open Issues
Apache-2.0
许可证
Kotlin
语言
2014-08-09
创建时间
2026-11-10
最近更新

项目能做什么

面向 Kotlin 和 Java 的现代化 JSON 库。
来源:AI 基于仓库事实生成 · 内容以仓库实际 README 为准

使用说明 查看原始 README 原仓库文档

中文使用说明暂未生成。下面保留原仓库 README 摘录,命令与配置均以原文为准。
原始 README 摘录(英文原文,节选前 3000 字符)
Moshi
=====

Moshi is a modern JSON library for Android, Java and Kotlin. It makes it easy to parse JSON into Java and Kotlin
classes:

_Note: The Kotlin examples of this README assume use of either Kotlin code gen or `KotlinJsonAdapterFactory` for reflection. Plain Java-based reflection is unsupported on Kotlin classes._

<details>
  <summary>Java</summary>

```java
String json = ...;

Moshi moshi = new Moshi.Builder().build();
JsonAdapter<BlackjackHand> jsonAdapter = moshi.adapter(BlackjackHand.class);

BlackjackHand blackjackHand = jsonAdapter.fromJson(json);
System.out.println(blackjackHand);
```
</details>

<details open>
  <summary>Kotlin</summary>

```kotlin
val json: String = ...

val moshi: Moshi = Moshi.Builder().build()
val jsonAdapter: JsonAdapter<BlackjackHand> = moshi.adapter<BlackjackHand>()

val blackjackHand = jsonAdapter.fromJson(json)
println(blackjackHand)
```
</details>

And it can just as easily serialize Java or Kotlin objects as JSON:

<details>
    <summary>Java</summary>

```java
BlackjackHand blackjackHand = new BlackjackHand(
    new Card('6', SPADES),
    Arrays.asList(new Card('4', CLUBS), new Card('A', HEARTS)));

Moshi moshi = new Moshi.Builder().build();
JsonAdapter<BlackjackHand> jsonAdapter = moshi.adapter(BlackjackHand.class);

String json = jsonAdapter.toJson(blackjackHand);
System.out.println(json);
```
</details>

<details open>
    <summary>Kotlin</summary>

```kotlin
val blackjackHand = BlackjackHand(
    Card('6', SPADES),
    listOf(Card('4', CLUBS), Card('A', HEARTS))
  )

val moshi: Moshi = Moshi.Builder().build()
val jsonAdapter: JsonAdapter<BlackjackHand> = moshi.adapter<BlackjackHand>()

val json: String = jsonAdapter.toJson(blackjackHand)
println(json)
```
</details>

### Built-in Type Adapters

Moshi has built-in support for reading and writing Java’s core data types:

 * Primitives (int, float, char...) and their boxed counterparts (Integer, Float, Character...).
 * Arrays, Collections, Lists, Sets, and Maps
 * Strings
 * Enums

It supports your model classes by writing them out field-by-field. In the example above Moshi uses
these classes:

<details>
    <summary>Java</summary>

```java
class BlackjackHand {
  public final Card hidden_card;
  public final List<Card> visible_cards;
  ...
}

class Card {
  public final char rank;
  public final Suit suit;
  ...
}

enum Suit {
  CLUBS, DIAMONDS, HEARTS, SPADES;
}
```
</details>

<details open>
    <summary>Kotlin</summary>

```kotlin
class BlackjackHand(
  val hidden_card: Card,
  val visible_cards: List<Card>,
  ...
)

class Card(
  val rank: Char,
  val suit: Suit
  ...
)

enum class Suit {
  CLUBS, DIAMONDS, HEARTS, SPADES;
}
```
</details>


to read and write this JSON:

```json
{
  "hidden_card": {
    "rank": "6",
    "suit": "SPADES"
  },
  "visible_cards": [
    {
      "rank": "4",
      "suit": "CLUBS"
    },
    {
      "rank": "A",
      "suit": "HEARTS"
    }
  ]
}
```

The [Javadoc][javadoc] catalogs the complete Moshi API, which we e
阅读完整原文

项目深度分析 AI 生成

Moshi 代码自动生成与数据建模 IDE 插件(SaaS/付费插件)

产品构想针对 Android/Kotlin 开发者提供 IntelliJ/Android Studio 付费插件,支持从 JSON、JSON Schema 或 OpenAPI 规范一键生成针对 Moshi 优化的 Kotlin 数据类、自定义 Adapter 及代码混淆规则。
核心功能JSON 一键转 Moshi Kotlin Data Class;自动处理空安全与默认值映射;自定义 TypeAdapter 模板生成;ProGuard/R8 混淆规则自动同步检查。
目标用户使用 Moshi 的 Android 及 Kotlin 开发者、移动端研发团队。
难度/周期中等 · 1-2 个月 · 成本:开发机器、JetBrains Marketplace 开发者账号费用(约几百元人民币/年)。
收费模式JetBrains Marketplace 订阅制或买断制付费插件(Freemium 模式)。
竞争风险开源竞品多(如免费的 JsonToKotlinClass 插件),需在 Moshi 深度定制与高级特性(如多态适配、代码生成优化)上拉开差距。
依据 已验证事实

大型 Android 工程 JSON 迁移与架构重构咨询/自动化脚本服务

产品构想帮助存量大型 Android 或 Java 项目从老旧的 Gson/Jackson 平滑迁移至 Moshi,提供静态分析工具扫描隐式反射风险、空安全违规并自动替换适配器。
核心功能Gson 语法树扫描与 Moshi 代码等效替换脚本;Kotlin 反射转 Moshi CodeGen 编译期优化评估;运行时空安全异常风险检测报告。
目标用户维护大型遗留 Android 应用的企业技术团队、中大型移动互联网公司。
难度/周期较高 · 2-3 个月 · 成本:人力时间成本,极低服务器成本。
收费模式技术咨询与定制化脚本实施费用(按项目或工时计费)。
竞争风险B端获客周期长,依赖个人在 Android 社区的影响力与客户信任,难以规模化复购。
依据 尚需验证的假设

基于 Moshi 生态的移动端 API 契约校验与 Mock 平台

产品构想结合 Moshi 的严格类型与空安全特性,提供前后端契约测试平台,前端可根据 Moshi 模型直接导出契约并在 CI/CD 中校验后端返回 JSON 是否合规。
核心功能移动端 Moshi Data Class 逆向解析为契约规范;实时校验后端 Response 是否满足非空/字段类型约束;生成符合 Moshi 反序列化要求的 Mock 数据。
目标用户前后端分离研发团队、移动端 QA 工程师、API 平台架构师。
难度/周期高 · 3-6 个月 · 成本:轻量云服务器、域名、数据库运营成本(约 200-500 元/月)。
收费模式SaaS 订阅制(按席位或按每月校验请求量计费)。
竞争风险市面上已有成熟的 API 管理平台(如 Postman、Apifox),单从客户端 JSON 解析库切入壁垒较薄。
依据 AI推测
AI 基于仓库公开数据分析生成,含推测成分,不构成收益承诺。
报告会保存到 个人中心

竞品与相似项目 GitHub Search 真实检索

相似项目数据正在完善中,暂不展示(避免误导)

项目优势与风险

技术成熟度创建于 2014-08-09,近 30 天仍在推送
社区活跃Star 10,165 / Fork 819 / Issue 115(数据支持,可自行核实)
许可证Apache-2.0
主要风险上游项目方向可能变化;同赛道竞争者较多(见竞品表);热度与需求不完全等价

安装与使用

此项目未提供 Docker 镜像,安装步骤以原仓库 README 为准(涉及依赖安装与环境配置,对新手门槛较高)。