ホームページ >バックエンド開発 >Golang >Go で動的 JSON フィールドタグを処理するには?

Go で動的 JSON フィールドタグを処理するには?

Patricia Arquette
Patricia Arquetteオリジナル
2024-12-27 09:31:09477ブラウズ

How to Handle Dynamic JSON Field Tags in Go?

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 サイトの他の関連記事を参照してください。

声明:
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。