GO中的元帥Dynamic JSON欄位標籤:克服挑戰
在處理GO中的JSON資料時,通常比手動建構JSONSON字串更喜歡撥號。對於表達基礎架構配置的Terraform JSON格式,這是正確的。但是,在遇到動態JSON鍵時會出現一個常見的挑戰,例如提供的範例中的隨機「 web1」名稱。
>>
提出的問題是:>
>不幸的是,GO的欄位標籤不直接支援動態鍵。提供的解決方案嘗試使用欄位標籤來表示靜態金鑰(“資源”和“ AWS_INSTANCE”),但無法解決動態金鑰“ Web1”。替代方案,答案建議使用映射表示動態鍵,允許在運行時分配值。
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"` }
r := Resource{ AWSInstance: map[string]AWSInstance{ "web1": AWSInstance{ AMI: "qdx", Count: 2, }, }, }
以上是如何使用欄位標籤在 Go 中編組動態 JSON 鍵?的詳細內容。更多資訊請關注PHP中文網其他相關文章!