Golang自定义json导出字段字段名字
show code:
package main
import (
"encoding/json"
"fmt"
)
func main () {
student := Student{
Name: "Leego",
age: 18,
Sex: true,
}
data, e := json.MarshalIndent(student, " ", "")
if e != nil {
fmt.Println(e)
}
fmt.Println(string(data))
}
type Student struct {
Name string `json:"nameJson"`
age int `json:"ageJson"`
Sex bool `json:"性别"`
}
输出结果如下:
{
"nameJson": "Leego",
"性别": true
}
为什么使用json.MarshalIndent(student, " ", "")
函数 ,后面两个参数是什么意思呢?稍微修改一下大家就懂了
现在把data, e := json.MarshalIndent(student, " ", "")
改为 data, e := json.MarshalIndent(student, "~", "#")
输入结果如下:
{
~#"nameJson": "Leego",
~#"性别": true
~}