一个很好用的工具集合的web页面,包含常用的json、base64、url、hash、加密等,最重要的是页面简洁干净。
名称为OKTools,地址如下:
https://oktools.net/json2go
这里说一下个人比较喜欢的一个工具,go语言的json转struct,当然我们也可以自己写一个,不过还是不要重复造轮子了。
https://oktools.net/json2go
例证说明
json
格式化json工具,https://www.json.cn/
非常好用,不过是有广告的
{
"error":0,
"data":{
"roll_data":[
{
"author_extends":"",
"depth_extends":"[]",
"deny_comment":0,
"level":"B",
"reading_num":25782,
"content":"国家统计局发布2020年国民经济和社会发展统计公报:初步核算,全年国内生产总值1015986亿元,比上年增长2.3%。",
"in_roll":1,
"recommend":1,
"confirmed":0,
"jpush":0,
"img":"",
"user_id":87,
"is_top":0,
"brief":"国家统计局发布2020年国民经济和社会发展统计公报:初步核算,全年国内生产总值1015986亿元,比上年增长2.3%。",
"id":693665,
"ctime":1614476012,
"type":-1,
"title":"",
"bold":0,
"sort_score":1614476012,
"comment_num":0,
"modified_time":1614476012,
"status":1,
"collection":0,
"has_img":0,
"category":"",
"shareurl":"https://api3.cls.cn/share/article/693665?os=web&sv=7.5.5&app=CailianpressWeb",
"share_img":"https://image.cailianpress.com/share/roll.png",
"share_num":0,
"sub_titles":[
],
"tags":[
],
"imgs":[
],
"images":[
],
"explain_num":-1,
"stock_list":[
],
"is_ad":0,
"ad":{
"id":0,
"title":"",
"img":"",
"url":"",
"monitorUrl":"",
"video_url":"",
"adTag":"",
"fullScreen":0
},
"subjects":null,
"audio_url":[
"https://image.cailianpress.com/admin/20210228/093332av5ywufInPHj.mp3",
"https://image.cailianpress.com/admin/20210228/09333257pbHtoN9BII.mp3",
"https://image.cailianpress.com/admin/20210228/093332azbk0F9ExN2P.mp3"
],
"author":""
}
],
"update_num":1
},
"vipData":[
]
}
转换后的struct结构
type AutoGenerated struct {
Error int `json:"error"`
Data Data `json:"data"`
VipData []interface{} `json:"vipData"`
}
type Ad struct {
ID int `json:"id"`
Title string `json:"title"`
Img string `json:"img"`
URL string `json:"url"`
MonitorURL string `json:"monitorUrl"`
VideoURL string `json:"video_url"`
AdTag string `json:"adTag"`
FullScreen int `json:"fullScreen"`
}
type RollData struct {
AuthorExtends string `json:"author_extends"`
DepthExtends string `json:"depth_extends"`
DenyComment int `json:"deny_comment"`
Level string `json:"level"`
ReadingNum int `json:"reading_num"`
Content string `json:"content"`
InRoll int `json:"in_roll"`
Recommend int `json:"recommend"`
Confirmed int `json:"confirmed"`
Jpush int `json:"jpush"`
Img string `json:"img"`
UserID int `json:"user_id"`
IsTop int `json:"is_top"`
Brief string `json:"brief"`
ID int `json:"id"`
Ctime int `json:"ctime"`
Type int `json:"type"`
Title string `json:"title"`
Bold int `json:"bold"`
SortScore int `json:"sort_score"`
CommentNum int `json:"comment_num"`
ModifiedTime int `json:"modified_time"`
Status int `json:"status"`
Collection int `json:"collection"`
HasImg int `json:"has_img"`
Category string `json:"category"`
Shareurl string `json:"shareurl"`
ShareImg string `json:"share_img"`
ShareNum int `json:"share_num"`
SubTitles []interface{} `json:"sub_titles"`
Tags []interface{} `json:"tags"`
Imgs []interface{} `json:"imgs"`
Images []interface{} `json:"images"`
ExplainNum int `json:"explain_num"`
StockList []interface{} `json:"stock_list"`
IsAd int `json:"is_ad"`
Ad Ad `json:"ad"`
Subjects interface{} `json:"subjects"`
AudioURL []string `json:"audio_url"`
Author string `json:"author"`
}
type Data struct {
RollData []RollData `json:"roll_data"`
UpdateNum int `json:"update_num"`
}
只需要微调一下一些结构体的名称,将其语义化即可,非常方便。