Go에서 JSON 구문 분석 기본값 사용자 정의
Go에서 JSON을 구문 분석할 때 존재하지 않는 필드에 기본값을 할당하면 데이터 조작이 향상될 수 있습니다. 다음은 인코딩/json 패키지를 사용하거나 외부 Go 라이브러리를 활용하는 방법입니다.
encoding/json 사용
encoding/json 패키지는 간단한 솔루션을 제공합니다. . 빈 구조체를 json.Unmarshal에 전달하는 대신 기본값으로 초기화할 수 있습니다. 예:
type Test struct { A string "a" B string "b" C string } example := []byte(`{"A": "1", "C": "3"}`) out := Test{} err := json.Unmarshal(example, &out) if err != nil { panic(err) } fmt.Printf("%+v", out)
외부 라이브러리 활용
encoding/json 패키지가 요구 사항을 완전히 충족하지 못하는 경우 향상된 JSON을 제공하는 외부 Go 라이브러리가 있습니다. 구문 분석 기능. 인기 있는 옵션 중 하나는 구조체 태그를 사용하여 누락된 필드에 대한 기본값을 지정할 수 있는 go-json 라이브러리입니다.
import ( "encoding/json" "github.com/go-json" ) type Test struct { A string `json:"a,omitempty"` B string `json:"b,omitempty"` C string `json:"c,omitempty"` } example := []byte(`{"A": "1", "C": "3"}`) out := Test{ DefaultA: "a", DefaultB: "b", DefaultC: "c", } err := json.Unmarshal(example, &out) if err != nil { panic(err) } fmt.Printf("%+v", out)
위 내용은 Go에서 누락된 JSON 필드에 대한 기본값을 어떻게 설정할 수 있나요?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!