首页 > 后端开发 > Golang > 如何在 Go 中处理动态 JSON 字段标签?

如何在 Go 中处理动态 JSON 字段标签?

Patricia Arquette
发布: 2024-12-27 09:31:09
原创
470 人浏览过

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,
        },
    },
}
登录后复制

此方法允许您处理可变 JSON 键并在 Go 中生成具有动态字段名称的自定义 JSON 负载。

以上是如何在 Go 中处理动态 JSON 字段标签?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板