Rumah > pembangunan bahagian belakang > Golang > Bagaimana untuk Mengendalikan Tag Medan JSON Dinamik dalam Go?

Bagaimana untuk Mengendalikan Tag Medan JSON Dinamik dalam Go?

Patricia Arquette
Lepaskan: 2024-12-27 09:31:09
asal
467 orang telah melayarinya

How to Handle Dynamic JSON Field Tags in Go?

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"`
}
Salin selepas log masuk

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,
        },
    },
}
Salin selepas log masuk

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!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan