quicktype游戏java程序_使用QuickType工具从json自动生成类型声明代码

一、QuickType 工具功能简介

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

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

使用 QuickType 工具就可以根据 JSON 文本帮助我们自动生成以上两部分的代码。

以如下 JSON 为例:

ebc00322d9702e9fb819d003a6279339.png

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

755be1d170bc834578ab1b5b2ebf10eb.png

二、QuickType 工具的使用

可以通过桌面应用、web 页、 IDE 插件、命令行 4 种方式使用 QuickType 工具。

其中 web 页(https://app.quicktype.io/ 可能被墙)和桌面应用使用方式基本一致这里不做介绍。

1.桌面应用方式(仅 mac OS)

打开 App Store 搜索 “Paste JSON as Code”下载安装即可

af8f4fc558b702a8cd3e0261fb9ee373.png

软件使用很简单,软件时时生成目标代码,按如下步骤操作:在左侧选择原始数据的类型

输入原始数据

修改要生成的类名,

在右侧选择要生成的目标语言,并进行配置(每种语言的可配置项不同)

648fc55ef7b24fcebec08b606c62d9e2.png

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 进行安装

a104932e7fac316890399e92100f6e8f.png

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”后回车

根据提示输入要生成的类型名称,回车后会在当前文档插入声明代码。

如下图:

c216ff05cce731e0fd3f2dbcd16689b4.png

方式 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”

在打开的下拉列表中选择生成代码语言完成语言切换

f73e21b63bc88bd9b1b22bf20ea9950a.png

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

b739ec46bb5c46d9c0aa4ce35ba1ea56.png

关于找一找教程网

本站文章仅代表作者观点,不代表本站立场,所有文章非营利性免费分享。

本站提供了软件编程、网站开发技术、服务器运维、人工智能等等IT技术文章,希望广大程序员努力学习,让我们用科技改变世界。

[使用QuickType工具从json自动生成类型声明代码]http://www.zyiz.net/tech/detail-148543.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/305225.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

endpointimpl怎么填参数_这是一篇VLOOKUP函数家族主要用法的合集,XLOOKUP来了!真香!但是,没有office365吃不着怎么办?...

最近这几个月,XLOOKUP震惊了Excel界,传言三头六臂无所不能,一个人把LOOKUP全家兄弟姐妹的活都给抢了。最开始我是不以为意的,但是相关的信息越来越多,我终于忍不住,今天去买了一套office365,发现…

1个月教你学会用Python实现机器学习

什么是机器学习?在最简单的层面上,机器学习只是优化数学方程式的过程。有几种不同的机器学习,都有不同的目的。机器学习中最流行的两种形式是监督学习和无监督的学习。 我们将在下面介绍他们的工作原理:. 监督学习:监督…

ASP.NET Core 5 在IIS,Nginx,Caddy下的性能测试

点击上方蓝字关注“汪宇杰博客”导语ASP.NET Core 从 2.2 版本起,在 IIS 下可以使用 InProcess 模式提高性能,国外大神 Rick Strahl 对此有一片详细的文章。3年过去了,现在 ASP.NET Core 已经到了 5.0 版本,不同服务器之间的性能有…

sql两个表查不同数据_产品操作MySQL第6篇 – 数据过滤-WHERE子句

MYSQL本资料为产品岗位作为日常工作参考,语言口语化At 2019/4/26 By David.Yang如何使用限定条件来进行数据过滤?在前问当中,我们已经学会到了SELECT查询,在过程当中多次接触了WHERE这个关键词,打过预防针应该知道他就…

gesturedetector.java_android使用gesturedetector手势识别示例分享

public class MyGestureLintener extends SimpleOnGestureListener {private Context context;public MyGestureLintener(Context context) {super();this.context context;}// 单击,触摸屏按下时立刻触发/*Overridepublic boolean onDown(MotionEvent e) {// TODO…

SQL SERVER 2005 同步复制技术

以下实现复制步骤(以快照复制为例)运行平台SQL SERVER 2005 一、准备工作:1.建立一个 WINDOWS 用户,设置为管理员权限,并设置密码,作为发布快照文件的有效访问用户。 2.在SQL SERVER…

【分享】C# 字节帮助类 ByteHelper

【分享】C# 字节帮助类 ByteHelper独立观察员 2021 年 2 月 3 日本文分享一个 C# 的字节(Byte)帮助类(ByteHelper),主要是一些字节、字节数组、十六进制、十六进制字符串等之间的转换操作,适用场景包括但不…

win10必须禁用的服务_【亲测】Win10系统如何彻底禁止自动更新 亲测有效的Win10关闭自动更新方法...

昨天有人称Win10系统更新依然无法彻底关闭,今天再来补充一下,肯定可以!不少用户反映自己的Win10系统更新无法彻底关闭,网上提供的关闭Win10更新的教程,关闭之后还是会自动更新Win10系统,而今天装机之家分享…

python怎么读数据库的数据_python从数据库读取出来的字典怎么更加方便的插入数据库...

其他的SQL不清楚, pymysql是没有类似函数的。说到框架,python常用的几个ORM, 我印象中也没有提供类似写法的。既然没人写,而你又在php里觉得这么用趁手,不如自己按php的思路实现一个。我自己写了个database类和一些工具函数, 你说的逻辑在我这…

国庆中秋活动——超强AR/3D地球仪!带你领略世界风光!我们未必能环游世界,但都该有个地球仪

通知!通知!通知!!! 玩酷屋十一黄金优惠限时限量秒杀活动,能抢到算你厉害: 1、活动期间 2017/10/03 22:30 ——2017/10/06 22:30 2、【北斗AR地球仪】原价 299元,秒杀活动价 269元…

flask mysql项目模板渲染_21. Flask 模板 - 宏、继承、包含

宏的概念类似于python中的函数,宏的作用就是在模板中重复利用代码,避免代码冗余。Jinja2支持宏,还可以导入宏,需要在多处重复使用的模板代码片段可以写入单独的文件,再包含在所有模板中,以避免重复。简单定…

PING 命令测试

使用 Ping 测试连接 Ping 命令有助于验证 IP 级的连通性。发现和解决问题时,可以使用 Ping 向目标主机名或 IP 地址发送 ICMP 回应请求。需要验证主机能否连接到 TCP/IP 网络和网络资源时,请使用 Ping。也可以使用 Ping 隔离网络硬件问题和不兼容配置。 …

如何在 ASP.Net Core 中使用 MiniProfiler

web应用程序的性能相信是大家普遍关心的一个问题,也相信大家有很多工具可用来分析应用程序的性能并能够找到其中的瓶颈,MiniProfiler 就是这个领域中的一款产品,它是一款简单的,功能强大的web应用分析工具,MiniProfile…

java 计时_Breitling(百年灵)世界时间终极计时腕表

所有热爱旅行的冒险家可以尽情期待,一款适合所有手腕的全新尺寸“旅行计时腕表”将在今年巴塞尔表展上华彩亮相。百年灵世界时间终极计时腕表(Chronomat 44 GMT),适合腕间的完美尺寸,便捷的三时区时间显示,超凡的百年灵自产机芯&a…

python时钟罗盘酷炫代码_抖音上的时钟屏保,被我改造完用来表白

作者:爱编程的小和尚原文链接:https://blog.csdn.net/Newbie___/article/details/105378852抖音上很火的时钟屏保,被我改造完后用来准备准备准备表白,谁说程序员不浪漫?!不知道一直关注小编我的小伙伴们之前…

大数据|意不意外?今年卖得最好的月饼是这个馅的……

中秋节,你家的月饼都吃完了吗? 淘宝、天猫、京东、苏宁易购等各大电商平台近日相继发布“月饼大数据”。透过这些大数据,我们来看看今年的“月饼消费”有哪些新趋势? 五仁稳居销量“老大哥” 五仁桂花、五仁肉松、五仁牛肉、五仁…

使用Silverlight2的WebClient下载远程图片

在Silverlight 2之前有一个Downloader对象,开发者一般使用Downloader下载图片和文体文件,这个对象在Silverlight 2中作为了一个特性被集成到WebClient类之中,你可以直接使用WebClient的OpenReadAsync方法加载远程图片的URI,然后使…

java os库_java-Mac OS X上的JNotify?

我想尝试JNotify,该插件库用于监视文件系统的更改,但无法弄清楚如何对其进行配置. JNotify的网页上说:“ java.library.path应该指向jnotify附带的本机库的位置(dll,dylib等)”.我是Mac OS X的新手,并不真正知道该怎么做.我正在使用NetBeans,希望有一种简单的方法可…

使用FuncT, TResult 委托实现API日志的记录

问题平常我们开发web api的时候&#xff0c;一般是需要记录api的输入输出信息&#xff0c;方便后续排查问题&#xff1b;那么我们一般怎么做的&#xff0c;一般是我们在一个公共地方的写个公共方法控制输入输出。这时候Func<T, TResult> 委托就派上用场。什么是FuncFunc&…

xencenter vgpu 看不见_有一种设计是“看不见,但感受得到”

设计源于生活&#xff0c;设计改变生活。在从业10余年之久的设计师刘洋来看&#xff0c;设计就是带着初心&#xff0c;不断去改变&#xff0c;去创造&#xff0c;去将更多设计的理念投射到时代的潮流中。刘洋认为设计不止是视觉感受&#xff0c;更重要的是融入人的情感&#xf…