Golang自定义json导出字段字段名字

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
~}

你可能感兴趣的:(Golang基础)