关于javascript:使用QuickType工具从json自动生成类型声明代码

8次阅读

共计 1823 个字符,预计需要花费 5 分钟才能阅读完成。

一、QuickType 工具性能简介

QuickType 是一款能够依据 json 文本生成指定语言(如 Type Script,C++,,Java,C#,Go 等)类型申明代码的工具。

例如咱们在写接口调用解决收到响应数据的逻辑时个别分为如下两步:1. 依据接口返回的 JSON 格局写一个对应的类型 2. 写 JSON 格局验证与解析逻辑来依据收到的数据生成对应的类对象

应用 QuickType 工具就能够依据 JSON 文本帮忙咱们主动生成以上两局部的代码。
以如下 JSON 为例:

应用 QuickType 生成 TypeScript 语言的接口申明代码如下:

二、QuickType 工具的应用

能够通过桌面利用、web 页、IDE 插件、命令行 4 种形式应用 QuickType 工具。
其中 web 页(https://app.quicktype.io/ 可能被墙)和桌面利用应用形式基本一致这里不做介绍。

1. 桌面利用形式(仅 mac OS)

关上 App Store 搜寻“Paste JSON as Code”下载安装即可

软件应用很简略,软件时时生成指标代码,按如下步骤操作:

  • 在左侧抉择原始数据的类型
  • 输出原始数据
  • 批改要生成的类名,
  • 在右侧抉择要生成的目标语言,并进行配置(每种语言的可配置项不同)

1. 以 IDE 扩大形式应用

QuickType 提供了 Xcode,VSCode, Visual Studio 三种开发工具的扩大。下载地址如下:

  • XCode(可能被墙):https://marketplace.visualstu… –
  • VSCode:https://marketplace.visualstu…
  • Visual Studio : https://marketplace.visualstu…

上面以 VSCode 扩大的装置与应用为例

2.1 装置 vscode 扩大 Paste JSON as Code

  • 关上 Visual Studio Code 软件进入扩大商店
  • 搜寻 Paste JSON as Code
  • 点击 install 进行装置

2.2 在 VSCode 中应用 Paste JSON as Code 扩大

vscode 中 Paste JSON 有两种应用形式。

形式 1:将剪切板中的 JSON 内容间接生成指标代码插入到以后编辑文件中,流程如下:
  • 抉择并拷贝【control(win)/command(mac)+c】要生成指标代码的 JSON 文本
  • 关上要插入类型申明代码的文件,用鼠标点击要插入代码的地位(扩大会主动依据文件扩展名决定生成指标代码的语言)
  • 关上 VSCode 命令框【按 control(win)/command(mac) + shift +p】输出“>Paste JSON as Types”后回车
  • 依据提醒输出要生成的类型名称,回车后会在以后文档插入申明代码。
    如下图:

形式 2:编辑 JSON 文件时时生成类型申明文件,流程如下:
  • 在 vscode 关上 json 文本文件
  • 关上 VSCode 命令框【按 control(win)/command(mac) + shift +p】输出“>Open quicktype for JSON”
  • 编辑区域会显示一个名为 QuickType.xx 的目标语言文件,文件内容会随着你对 json 文件的编辑跟新。(默认生成代码语言可能不是你想要的)
  • 设置目标语言类型:关上 VSCode 命令框【按 control(win)/command(mac) + shift +p】输出“>Set quicktype target language”
  • 在关上的下拉列表中抉择生成代码语言实现语言切换

3. 以命令行形式应用

装置流程:

  • 装置 node 环境
  • 全局装置 quicktype npm 包
    命令行下输出:npm install –g quicktype

quicktype 命令

# 查看帮忙
quicktype

# json 字符串生成 C# 申明
echo '{"name":"David"}' | quicktype -l csharp

# json 字符串生成 Go 类声名文件 ints.go
echo '[1, 2, 3]' | quicktype -o ints.go

# 从 json 文件生成 swift 类文件
quicktype person.json -o Person.swift

# 可选参数
quicktype \
  --src person.json \
  --src-lang json \
  --lang swift \
  --top-level Person \
  --out Person.swift

# 从返回 JSON 的接口生成 java 类文件
quicktype https://api.somewhere.com/data -o Data.java
正文完
 0