VSCode插件 - Json生成不同语言的数据结构
简介在编码的过程中有没有觉得一堆json要转换成自己想要的数据结构要一个字段一个字段去些,感觉非常难受,又费时间又不安逸。对于一个程序员最喜欢偷懒,在VSCode有一款插件解决了这个问题:Paste JSON as Code。
在编码的过程中有没有觉得一堆json要转换成自己想要的数据结构要一个字段一个字段去些,感觉非常难受,又费时间又不安逸。对于一个程序员最喜欢偷懒,在VSCode有一款插件解决了这个问题:Paste JSON as Code。
支持很多语言:TypeScript, Python, Go, Ruby, C#, Java, Swift, Rust, Kotlin, C++, Flow, Objective-C, JavaScript, Elm, and JSON Schema
安装插件
Ctrl+Shift+X:搜索Paste JSON as Code,安装
JSON示例
{
"status_code":200,
"message":"成功",
"data":{
"all":[
{
"category_id":"",
"category_name":"全部类别",
"category_count":""
}
{
"category_id":"学习规划",
"category_name":"学习规划",
"category_count":"4"
}]
}
}
以上是一个非常通用的接口返回数据格式
生成数据结构
- 新建一个文件,如果是go语言就是xxx.go、如果是java就是xxx.java等,包含很多语言
- 复制上面的json
- Ctrl+Shift+P(必须是在第一步新建的文件中执行)
- 选择Paste Json As Code 回车
- 粘贴上面复制的json数据,回车
- 生成内容
生成go数据结构
// Generated by https://quicktype.io
type StatusCode200Message成功DataAllCategoryIDCategoryName全部类别CategoryCountCategoryID语文CategoryName语文CategoryCount48CategoryID阅读CategoryName阅读CategoryCount7CategoryID学习规划CategoryName学习规划CategoryCount4 struct {
StatusCode int64 `json:"status_code"`
Message string `json:"message"`
Data Data `json:"data"`
}
type Data struct {
All []All `json:"all"`
}
type All struct {
CategoryID string `json:"category_id"`
CategoryName string `json:"category_name"`
CategoryCount string `json:"category_count"`
}
生成java的数据结构
// StatusCode200MessageDataAllCategoryIDCategoryNameCategoryCountCategoryIDCategoryNameCategoryCount4.java
// Generated by https://quicktype.io
package io.quicktype;
import java.util.Map;
public class StatusCode200MessageDataAllCategoryIDCategoryNameCategoryCountCategoryIDCategoryNameCategoryCount4 {
private long statusCode;
private String message;
private Data data;
public long getStatusCode() { return statusCode; }
public void setStatusCode(long value) { this.statusCode = value; }
public String getMessage() { return message; }
public void setMessage(String value) { this.message = value; }
public Data getData() { return data; }
public void setData(Data value) { this.data = value; }
}
// Data.java
package io.quicktype;
import java.util.Map;
public class Data {
private All[] all;
public All[] getAll() { return all; }
public void setAll(All[] value) { this.all = value; }
}
// All.java
package io.quicktype;
import java.util.Map;
public class All {
private String categoryID;
private String categoryName;
private String categoryCount;
public String getCategoryID() { return categoryID; }
public void setCategoryID(String value) { this.categoryID = value; }
public String getCategoryName() { return categoryName; }
public void setCategoryName(String value) { this.categoryName = value; }
public String getCategoryCount() { return categoryCount; }
public void setCategoryCount(String value) { this.categoryCount = value; }
}
是不是感觉非常方便,为自己开发减轻了很多工作量。
在PHP中,对二维数组排序还是非常简单的,但是在Golang中对二位数据排序显的就稍显麻烦,但是我们还是可以通过结构体来进行排序,本文主要记录Golang如何通过结构体的多个字段来进行排序。
B树是一种树状数据结构,它能存储数据,对其进行排序并允许以O(logN)的时间复杂度进行查找,顺序读取、插入和删除等操作
桌面应用很多都会在系统托盘中出现,那么Flutter的开发的桌面应用该如何增加到系统托盘中呢?本文将带大家一起尝试一下.
正则表达式通常被用来检索、替换那些符合某个模式(规则)的文本。工作中往往需要用到正则表达式,那么本文主要记录正则表达式的一些基本的知识和常用的正则表达式。
在于前端攻城狮的兄弟们开发接口的时候,总会遇到一些奇怪的问题。比如IOS对某个字段要求要整数,如果PHP这边返回过去是字符串那么APP就会崩溃。虽然他们可以捕获异常,但是有些时候我们更想后端的攻城狮能否提供一种统一的数据类型,前端想怎么转换就是他们自己的事情,本文我们将给大家带来这方面的处理。
快速生成表格
Electron页面跳转、浏览器打开链接和打开新窗口
在使用Git的过程中,不想每次都输入用户名和密码去拉取代码,所以就需要保存这些信息,那么既然有保存了,就必须有清除功能。
在Mac电脑中,如何对Git的用户名和密码进行修改呢?起初不懂Mac,所以整了很久,本文将记录如何对这个进行操作,以便后期使用。
Docker编译镜像出现:fetch http://dl-cdn.alpinelinux.org/alpine/v3.12/main/x86_64/APKINDEX.tar.gz
ERROR: http://dl-cdn.alpinelinux.org/alpine/v3.12/main: temporary error (try again later)
WARNING: Ignoring APKINDEX.2c4ac24e.tar.gz: No such file or directory问题