go - 如何解组动态键
问题描述
我有一个具有以下结构的 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"}
}
}
类似于类似的to_entries
东西jq
这样的事情可能吗?甚至不知道从哪里开始。
谢谢!
解决方案
如果没有自定义封送处理,您可以通过将动态键映射到映射键来做到这一点。每个映射似乎都是一个范围数组,因此:
type Mappings struct {
Mappings map[string][]string `yaml:"mappings"`
}
推荐阅读
- java - JPA 存储库仅按特定月份的日期字段查找
- c# - 如何在 splitview 内容区域中打开应用程序?
- android - 第一次加载页面时默认调用 RowsSupportFragment onItemSelected() 回调
- flutter - 如何在颤动的搜索结果中增加窗口的大小?
- sql - SQL-SERVER 转换为不同的编码
- ant-design-pro - ant design 选择标签不是删除标签
- java - 使用 Jython 在 Robot Framework 中使用自定义 Java 关键字/库
- ionic-framework - 实施者 OpenLayers 无离子
- r - 闪亮的服务器安装 CentOS 8.1 构建
- sql - 如何在 Presto SQL 中制作动态日期