또한 Json 데이터가 구조체에 정의되지 않은 부분을 얻기를 원합니다 Go
예컨대
type Struct struct {
Value_first string `json:"value"`
Value_second string `json:"value_one"`
Nest Nested `json:"nest"`
}
이것이 바로 제이슨이다.Marshal도 정의 이외에는 답장을 세 개 이상 주지 않을 거예요.다른 것을 추가하고 싶을 때, 예를 하나 들어라.
import "encoding/json"
type FakeStruct struct
func (s Struct) MarshalJSON() ([]byte, error) {
return json.Marshal(struct {
FakeStruct
AddData map[string]string `json:"add_data"`
}{
FakeStruct: FakeItem(s),
AddData: map[string]string{"something": "something"},
})
}
그렇다면 AddData 섹션을 추가하고 싶습니다.out, err := json.MarshalIndent(struct, "", " ")
if err != nil {
log.Fatalln(err)
}
fmt.Println(string(out))
함수에 struct를 직접 정의하는 다른 방법도 있는 것 같아요. func (s Struct) MarshalJSON() ([]byte, error) {
return struct {
FakeStruct
NewStruct struct {
AddData string `json:"add_data"`
} `json:"new_struct"`
}{
FakeStruct: FakeStruct(*s),
NewStruct: struct {
AddData string `json:"add_data"`
}{
AddData: "yes!",
},
}
})
저는 Stack overflow를 참고했지만 5년 전 이상의 상황에 신경을 많이 썼습니다.
Reference
이 문제에 관하여(또한 Json 데이터가 구조체에 정의되지 않은 부분을 얻기를 원합니다 Go), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://zenn.dev/masakawa/articles/c69c47905740d0텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)