Go 中的動態JSON 欄位標籤
為Terraform 檔案產生JSON 時,您可能會遇到動態欄位名稱,例如資源名稱和AWS 實例名稱。這些名稱在編譯時是未知的,這使得使用 Go 的欄位標籤進行編組具有挑戰性。
要克服這個問題,請考慮使用映射:
type Resource struct { AWSInstance map[string]AWSInstance `json:"aws_instance"` } type AWSInstance struct { AMI string `json:"ami"` Count int `json:"count"` SourceDestCheck bool `json:"source_dest_check"` }
使用映射,您可以將動態字段名稱分配給映射鍵並將值插入到映射中以動態構造JSON有效負載。例如:
r := Resource{ AWSInstance: map[string]AWSInstance{ "web1": AWSInstance{ AMI: "qdx", Count: 2, }, }, }
此方法可讓您處理可變 JSON 鍵並在 Go 中產生具有動態欄位名稱的自訂 JSON 負載。
以上是如何在 Go 中處理動態 JSON 欄位標籤?的詳細內容。更多資訊請關注PHP中文網其他相關文章!