https://github.com/kubernetes/api/blob/master/core/v1/types.go
type Pod struct {
metav1.Typemeta `json:",inline"`
// Standard object's metadata.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#metadata
// +optional
metav1.Objectmeta `json:"metadata,omitempty" protobuf:"bytes,1,opt,name=metadata"`
// Specification of the desired behavior of the pod.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Spec PodSpec `json:"spec,omitempty" protobuf:"bytes,2,opt,name=spec"`
// Most recently observed status of the pod.
// This data may not be up to date.
// Populated by the system.
// Read-only.
// More info: https://git.k8s.io/community/contributors/devel/sig-architecture/api-conventions.md#spec-and-status
// +optional
Status PodStatus `json:"status,omitempty" protobuf:"bytes,3,opt,name=status"`
}
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))
}
https://blog.csdn.net/fjgui/article/details/104063806
json:"metadata转换成json后,对应的key为metadata
omitempty如果是空,转换的json对应是{}



