프로그래밍 일반/Go 프로그래밍
Go 언어의 Json Tag
지노윈
2024. 4. 18. 18:08
반응형
Go 언어의 Json
참고: https://www.joinc.co.kr/w/man/12/golang/json
JSON Tag
encoding/json 패키지의 경우 아래와 같이 Tag를 이용해서 마샬/언마샬 방식을 설정 할 수 있습니다.
type RequestCreateOpenChannel struct {
Name string `json:"name"`
ChannelUrl string `json:"channel_url"`
CustomType string `json:"custom_type"`
Data string `json:"data"`
IsDynamicPartitioned bool `json:"is_dynamic_partitioned"`
}
omitempty
omit empty : 비어 있으면 생략한다.
값을 입력하지 않지 않으면 json에서 제외 할 수 있습니다.
type ResponseOkCreateOpenChannel struct {
Name string `json:"name"`
ChannelUrl string `json:"channel_url"`
CustomType string `json:"custom_type"`
ParticipantCount int32 `json:"participant_count"`
CreatedAt int64 `json:"created_at"`
Data string `json:"data,omitempty"` //opmitempty를 설정하여 값을 설정하지 않으면 json에서 제외하도록 합니다.
Freeze bool `json:"freeze"`
}
필드 제외
`json:"-"`로 설정하여 json에서 제외 시킵니다.
type ResponseOkCreateOpenChannel struct {
Name string `json:"name"`
ChannelUrl string `json:"channel_url"`
CustomType string `json:"custom_type"`
ParticipantCount int32 `json:"participant_count"`
CreatedAt int64 `json:"created_at"`
Data string `json:"data,omitempty"`
Freeze bool `json:"-"` // json에서 제외
}