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; }
}
是不是感觉非常方便,为自己开发减轻了很多工作量。