Teg Medan JSON Dinamik dalam Go
Apabila menjana fail JSON untuk Terraform, anda mungkin menghadapi nama medan dinamik seperti nama sumber dan nama tika AWS . Nama-nama ini tidak diketahui pada masa penyusunan, menjadikannya mencabar untuk menggunakan teg medan Go untuk marshalling.
Untuk mengatasinya, pertimbangkan untuk menggunakan peta sebaliknya:
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"` }
Dengan peta, anda boleh menetapkan nama medan dinamik untuk memetakan kunci dan memasukkan nilai ke dalam peta untuk membina muatan JSON secara dinamik. Contohnya:
r := Resource{ AWSInstance: map[string]AWSInstance{ "web1": AWSInstance{ AMI: "qdx", Count: 2, }, }, }
Pendekatan ini membolehkan anda mengendalikan kekunci JSON berubah-ubah dan menjana muatan JSON tersuai dengan nama medan dinamik dalam Go.
Atas ialah kandungan terperinci Bagaimana untuk Mengendalikan Tag Medan JSON Dinamik dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!