分享web开发知识

注册/登录|最近发布|今日推荐

主页 IT知识网页技术软件开发前端开发代码编程运营维护技术分享教程案例
当前位置:首页 > 技术分享

go语音之进阶篇通过结构体生成json

发布时间:2023-09-06 02:08责任编辑:胡小海关键词:jsjson

1、通过结构体生成json

示例:

package mainimport ("encoding/json""fmt")//成员变量名首字母必须大写type IT struct {Company ?stringSubjects []stringIsOk ????boolPrice ???float64}func main() {//定义一个结构体变量,同时初始化s := IT{"itcast", []string{"Go", "C++", "Python", "Test"}, true, 666.666}//编码,根据内容生成json文本buf, err := json.Marshal(s)if err != nil {fmt.Println("err = ", err)return}fmt.Println("buf = ", string(buf))}

执行结果:

buf = ?{"Company":"itcast","Subjects":["Go","C++","Python","Test"],"IsOk":true,"Price":666.666}

  

2、根据结构体生成json

package mainimport ("encoding/json""fmt")//成员变量名首字母必须大写type IT struct {Company ?stringSubjects []stringIsOk ????boolPrice ???float64}func main() {//定义一个结构体变量,同时初始化s := IT{"itcast", []string{"Go", "C++", "Python", "Test"}, true, 666.666}//编码,根据内容生成json文本buf, err := json.MarshalIndent(s, "", "") //格式化编码if err != nil {fmt.Println("err = ", err)return}fmt.Println("buf = ", string(buf))}

执行结果:

buf = ?{"Company": "itcast","Subjects": ["Go","C++","Python","Test"],"IsOk": true,"Price": 666.666}

  

 3、struct_tag的使用 (通过二次编码,可以把大写变成小写,还可以以字符串方式输出)

示例: 

package mainimport ("encoding/json""fmt")//成员变量名首字母必须大写type IT struct {//Company ?string ??`json:"-"` //此字段不会输出到屏幕//下面的写法都是二次编码,可以把大写变成小写Company ?string ??`json:"company"`Subjects []string `json:"subjects"`IsOk ????bool ????`json:"isok"`//转成字符串再输出编码//IsOk ?bool ???`json:"string"`Price float64 `json:"price"`}func main() {//定义一个结构体变量,同时初始化s := IT{"itcast", []string{"Go", "C++", "Python", "Test"}, true, 666.666}//编码,根据内容生成json文本buf, err := json.MarshalIndent(s, "", " ") //格式化编码if err != nil {fmt.Println("err = ", err)return}fmt.Println("buf = ", string(buf))}

执行结果:

buf = ?{ "company": "itcast", "subjects": [ ?"Go", ?"C++", ?"Python", ?"Test" ], "isok": true, "price": 666.666}

  

go语音之进阶篇通过结构体生成json

原文地址:https://www.cnblogs.com/nulige/p/10265713.html

知识推荐

我的编程学习网——分享web前端后端开发技术知识。 垃圾信息处理邮箱 tousu563@163.com 网站地图
icp备案号 闽ICP备2023006418号-8 不良信息举报平台 互联网安全管理备案 Copyright 2023 www.wodecom.cn All Rights Reserved