Golang中json编码的结构体标签

1、对于结构体进行编码:字段的首字母必须大写,否则无法编码

2、如果json格式要求key小写,可以通过标签解决

3、标签细节

Name    string `json:"-"`                 //在使用json编码时,不编码这个字段
Subject string `json:"Subject_name"`      //在json编码时,这个字段会编码成Subject_name
Age     int    `json:"age,string"`        //在json编码时,将age转换成string类型,一定要两个字段:名字,类型,中间不能有空格
Address string `json:"address,omitempty"` //在json编码时,如果这个字段是空的,那么忽略掉,不参与编码
gender  string
package main

import (
	"encoding/json"
	"fmt"
)

type Teacher struct {
	Name    string `json:"-"`                 //在使用json编码时,不编码这个字段
	Subject string `json:"Subject_name"`      //在json编码时,这个字段会编码成Subject_name
	Age     int    `json:"age,string"`        //在json编码时,将age转换成string类型,一定要两个字段:名字,类型,中间不能有空格
	Address string `json:"address,omitempty"` //在json编码时,如果这个字段是空的,那么忽略掉,不参与编码
	gender  string
}

func main() {
	t1 := Teacher{
		Name:    "Cao",
		Subject: "Golang",
		Age:     18,
		Address: "beijing",
		gender:  "man",
	}
	fmt.Println("t1:", t1)
	encodeInfo, _ := json.Marshal(&t1)
	fmt.Println(string(encodeInfo))
}

你可能感兴趣的:(Golang,json,java,数据库)