12.2K star!JSON到代码的快速转换神器,程序员必备!

文摘   2024-09-24 21:01   江西  

* 戳上方蓝字“开源先锋”关注我



推荐阅读:

《2.6K star!速度达30M/S,这款开源下载神器绝了!》



大家好,我是开源君

话说在编码江湖里,我们大概率每天都会和JSON这样的数据格式打交道,每次面对复杂的数据结构或是需要与API打交道时,是不是总感觉手动编写那些冗长的代码既枯燥又容易出错。

今天开源君要分享一款超酷的开源项目 - quicktype,可以帮助解放我们的双手,让我们用更聪明的方式处理数据。

项目简介

QuickType是一个能够从JSON、JSON Schema、TypeScript甚至是GraphQL查询中生成强类型的模型和序列化器。支持多种编程语言,包括 JavaScript、Python、Java、TypeScript、Swift、Go、Rust 等几十种编程语言。

想象一下,你只需将 JSON 粘贴到 quicktype,它就能迅速生成对应的代码。就像魔法一样!再也不需要手动编写冗长的类型定义了,是不是感觉瞬间提升了编程效率?

目前在Github上收获了12.2K star!

性能特色

  • 多语言支持:JavaScript、TypeScript、Python、Java、C#、Swift……你能想到的主流编程语言,它几乎都能覆盖,满足不同项目的需求。

  • 自动推导类型:quicktype 可以智能推导出数据的类型,这样就算你对数据的结构一无所知,也能轻松获得准确的类型定义。

  • 友好的 UI 界面:quicktype 提供了一个简单易用的网页界面,用户只需简单粘贴 JSON 数据,即可生成对应的代码,甚至可以在线下载生成的代码文件。

  • 集成开发环境(IDE)插件:quicktype 还提供了各种插件,帮助你在不同的开发环境中使用,比如 VS Code 和 IntelliJ。你只需在 IDE 中运行 quicktype,就可以快速生成所需代码。

  • 灵活性:自定义命名策略?没问题!QuickType允许你按照团队规范或个人喜好来设置,怎么顺心怎么来。

  • 易于集成:提供了命令行接口(CLI),无论是自动化工作流还是手动集成,都是轻松加愉快。

快速安装使用

使用 quicktype 的方法很多,官方提供了在线web、 IDE 插件、命令行等方式使用。

1、在线web:直接访问QuickType官网,通过在线工具生成代码。

2、命令行工具:安装QuickType的CLI工具,命令如下:

npm install -g quicktype

3、IDE 插件:支持 Xcode、VSCode 和 Visual Studio 插件

项目展示

这里开源君使用 quicktype 在线web网站来展示一下。

网址:https://app.quicktype.io/

打开后如下图

假设我们有一个包含多个用户信息的 JSON 数据,把数据粘贴到网页的左边。

{
  "description": {
    "title""Contiguous U.S., Average Temperature",
    "units""Degrees Fahrenheit",
    "base_period""1901-2000"
  },
  "data": {
    "189512": {
      "value""50.34",
      "anomaly""-1.68"
    },
    "189612": {
      "value""51.99",
      "anomaly""-0.03"
    },
    "189712": {
      "value""51.56",
      "anomaly""-0.46"
    }
  }
}

选择想要生成的编程语言,比如 TypeScript,勾选 interface。

很快我们就能获得这个Json的 interface了,非常速度。完全不需要花时间去手动定义每一个属性,太省心了。

export interface Temperatures {
 description: Description;
 data:        { [key: string]: Datum };
}

export interface Datum {
 value:   string;
 anomaly: string;
}

export interface Description {
 title:       string;
 units:       string;
 base_period: string;
}

看,数据结构就变得清晰多了!而且不需要花时间去手动定义每一个属性,是不是很省心?

quicktype 绝对是一个令人惊叹的开源工具,极大提升了程序员们的工作效率。它极大地简化了数据与代码之间的转换过程,将原本繁琐的手动编码过程自动化,让我们有更多时间专注于创新和解决问题。如果还没试过 quicktype,赶快去试试吧!

更多细节功能,感兴趣的可以到项目地址查看:

项目地址:
https://github.com/glideapps/quicktype


开源先锋
分享Github上最有趣的开源项目
 最新文章