golang json inline用法

package main

import (
	"encoding/json"
	"fmt"
)

type Project struct {
	Key   string `json:"key"`
	Value string `json:"value"`
}

type JiraHttpReqField struct {
	Project     `json:",inline"`
	Summary     string `json:"summary"`
	Description string `json:"description"`
}

func main() {
	dataProject := Project{
		Key:   "key",
		Value: "value",
	}
	dataJiraHttpReqField := &JiraHttpReqField{
		Project:     dataProject,
		Summary:     "Summary",
		Description: "Description",
	}
	data, _ := json.Marshal(dataJiraHttpReqField)
	fmt.Println(string(data))

}

JiraHttpReqField 跟Project结构体是平级关系,如果很多struct需要Project里面的字段,可以直接inline Project,减少重复定义

 

你可能感兴趣的:(go学习)