Go JSON Marshal: 빈 중첩 구조체 생략
Go의 json:",omitempty" 태그를 사용하면 비어 있는 필드를 제외할 수 있습니다. JSON 출력의 값. 그러나 이 동작은 값이 0인 구조체에는 적용되지 않습니다.
빈 필드가 있는 경우 중첩 구조체를 생략하려면 포인터가 아닌 구조체 대신 포인터를 사용할 수 있습니다. 이렇게 하면 0이 아닌 값이 할당되지 않은 경우 구조체가 빈 것으로 처리됩니다.
예를 들어 다음 구조체를 고려하세요.
type ColorGroup struct { ID int `json:",omitempty"` Name string Colors []string } type Total struct { A *ColorGroup `json:",omitempty"` // Use pointer B string `json:",omitempty"` }
이 경우, 그룹 .A에는 0이 아닌 값이 할당되지 않으며 빈 것으로 처리되어 JSON 출력에서 생략됩니다. 이는 JSON 출력에 빈 group.A가 계속 포함되는 포인터가 아닌 구조체를 사용하는 것과 대조적입니다.
다음 플레이그라운드 링크는 이 동작을 보여줍니다: https://play.golang.org/p /3i7rh4e3t3D
위 내용은 Go JSON Marshal에서 빈 중첩 구조체를 생략하는 방법은 무엇입니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!