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

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

Patricia Arquette
リリース: 2024-12-27 09:31:09
オリジナル
522 人が閲覧しました

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

ソース:php.cn
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
著者別の最新記事
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート