Я пытаюсь создать JSON для Terraform file. Поскольку я (думаю, я) хочу использовать marshalling вместо того, чтобы катить мой собственный JSON, я использую формат Terraforms JSON вместо «родного» формата TF.Маршал динамический JSON теги поля в Go
{
"resource": [
{
"aws_instance": {
"web1": {
"some": "data"
}
}]
}
resource
и aws_instance
статические идентификаторы в то время как web1
в этом случае является случайным именем. Также было бы немыслимо также иметь web2
и web3
.
type Resource struct {
AwsResource AwsResource `json:"aws_instance,omitempty"`
}
type AwsResource struct {
AwsWebInstance AwsWebInstance `json:"web1,omitempty"`
}
Проблема однако; Как я могу генерировать случайные/переменные ключи JSON с тегами поля Go?
У меня такое чувство, что ответ «Ты не делаешь». Какие у меня другие альтернативы?
Вы можете использовать подход, основанный на lexer, например [gabs] (https://github.com/Jeffail/gabs), но тогда вы не получите идиоматическую доброту структуры. – Momer