【发布时间】:2021-11-23 07:07:52
【问题描述】:
我有一个结构如下的 yaml 文件:
mappings:
extgroup1:
- somescope1
- somescope2
someextgroup:
- somescope3
allusers:
- somescope1
映射基本上是一个数组,但结构只是一组动态键。我想将其解组为一个新数据类型的数组,如下所示:
type ExternalGroupMapping struct {
ExternalGroup string
Scopes []string
}
所以,它看起来像:
[]Mappings{
ExternalGroupMapping{
ExternalGroup: "extgroup1"
Scopes: []string{"somescope1", "somescope2"}
},
ExternalGroupMapping{
ExternalGroup: "someextgroup"
Scopes: []string{"somescope3"}
},
ExternalGroupMapping{
ExternalGroup: "allusers"
Scopes: []string{"somescope1"}
}
}
类似于jq中的to_entries
这样的事情可能吗?甚至不知道从哪里开始。
谢谢!
【问题讨论】:
-
struct schema 需要匹配 yml schema。根据您的 yaml,如果您想在不更改您的 yaml 架构的情况下将其转换为
[]struct{string,[] string,这将是一个map[string][]string,请在解析 yaml 后执行此操作。