4.17 go 结构体转为json改变键值类型命名

package main 

import (
	"encoding/json"
	"fmt"
)


//1结构体转换为json
//成员变量名首字母必须大写
type IT struct{
	Company string       `json:"-"`  //此字符串不会输出到json
	Subjects []string 	 `json:"sub"`  //改别名
	IsOk  bool           `json:",string"`   //值转变为字符串
	Price float32        `json:",string"`
	
	
}



func main(){
	//定义一个结构体变量,同时初始化
	s:=IT{"zze",[]string{"go","java","python"},true,11.22}
	//编码 根据内容生成json文本
	//{"Company":"zze","Subjects":["go","java","python"],"IsOk":true,"Price":11.22}
	//buf,err:=json.Marshal(s)
	
	buf,err:=json.MarshalIndent(s,"","	")//格式化输出
	/*
	buf= {
        "Company": "zze",
        "Subjects": [
                "go",
                "java",
                "python"
        ],
        "IsOk": true,
        "Price": 11.22
}
	
	**/
	
	if err!=nil{
		fmt.Println(err)
		return
	}

	fmt.Println("buf=",string(buf))
	
	
	
	
	
}
发布了124 篇原创文章 · 获赞 94 · 访问量 5万+

猜你喜欢

转载自blog.csdn.net/h4241778/article/details/105347747