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, }, }, }
このアプローチにより、Go で変数 JSON キーを処理し、動的なフィールド名を持つカスタム JSON ペイロードを生成できます。
以上がGo で動的 JSON フィールドタグを処理するには?の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。