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中文网其他相关文章!