草庐IT

ruamel.yaml

全部标签

go - 如何遍历 Golang 中的所有 YAML 值?

我想了解Golang中的嵌套映射。我有一个如下所示的map,如何遍历所有键?Data:-name:"foo"bar1:0k1:val1k2:val2val3bar2:1k3:val4k4:val5k3:val4k4:val5 最佳答案 您必须将数据解码到map(map[interface{}]interface{}或map[string]interface{})然后您必须检查键值的类型。您可以使用yaml.v2包,并且可能有更清晰的界面有助于检测值的类型。否则检查迭代键并打印值的示例:packagemainimport("fmt""

go - viper yaml 配置序列

我正在尝试使用viper(seeviperdocs)读取yaml配置文件。但是我看不到一种方法来读取问题类型下的map值序列。我尝试了各种Get_方法但似乎没有人支持这一点。remote:host:http://localhost/user:adminpassword:changeitmapping:source-project-key:ITremote-project-key:SCRUMissue-types:-source-type:Incidentremote-type:Task-source-type:ServiceRequestremote-type:Task-source-

go - YAML MapSlice 在编码或解码时保留序列

我对如何使用YAMLMapSlice数据结构感到困惑。来自这里https://sourcegraph.com/go/gopkg.in/yaml.v2/-/MapSlice.我设法解码为一种MapSlice但如何将其映射到我自己的结构vardata=`id:id-jakut:en:name:NorthJakartaCitylabel:NorthJakartaid:name:KotaJakartaUtaralabel:JakartaUtaraid-jaksel:en:name:SouthJakartaCitylabel:SouthJakartaid:name:KotaJakartaSela

go - 从 YAML 对象列表创建 API 对象

我有一个这样定义的kubernetes对象列表:apiVersion:v1items:kind:List-.....我想用client-go之类的东西解析它并收集一些关于它的信息。所以我搜索并找到了一段这样的代码:decode:=api.Codecs.UniversalDeserializer().Decodeobj,_,err:=decode([]byte(f),nil,nil)lst,err:=meta.ExtractList(obj)for_,o:=rangelst{doSomeThing(o)}因此obj及其每个元素都是runtime.Object类型。但我似乎无法找到一种方法

go - 在 golang 中正确映射 YAML 配置文件

我用go编写了一个API,它可以创建具有默认策略规则的组织。我想使用外部配置YAML文件在我的API中包含一些策略(我实际上将这些策略放在我的代码中的函数中,该函数创建了我的实体组织):策略.yml-role:"admin"organisationid:organisation.IDpolicies:[{Object:"/*",Action:"*"}]-role:"user"organisationid:organisation.IDpolicies:[{Object:"/me",Action:"GET"},{Object:"/organisations",Action:"GET"},

parsing - 使用 viper 解析 YAML 时如何使用动态 key ?

我有以下yml文件:#config.ymlitems:name-of-item:#dynamicfieldsource:...destination:...我想用viper来解析它,但是name-of-item可以是任何东西,所以我不确定如何解决这个问题。我知道我可以使用以下内容://insideconfigfolderpackageconfigtypeItemsstruct{NameOfItemNameOfItem}typeNameOfItemstruct{SourcestringDestinationstring}//insidemain.gopackagemainimport("

go - 使用 golang 从 YAML 解码/编码多行字符串字段

YAML文件可以包含带有“多行字符串”数据的字段。示例如下:Data:Foo:|enemies=alienslives=3enemies.cheat=trueenemies.cheat.level=noGoodRotten我如何在Golang中正确地编码和解码这些内容,Data字段的类型应该是什么,map[string][]byte?我试过:import(yamlv2"gopkg.in/yaml.v2")typedatastruct{Datamap[string][]byte}funcdecode(bytes[]byte)(*data,error){d:=&data{}err:=yam

go - 仅从 YAML 配置文件加载一个部分

我有多个组件,每个组件都需要加载特定的定义才能运行,我想将一个大的YAML文件分成多个部分,每个部分将属于一个不同的组件。因此,我没有为4个组件使用4个配置文件,而是使用一个分为多个部分的大配置文件。现在我只想在每个组件上加载yaml配置文件中的相关部分。我可以吗?以及如何?更新:这两个答案都让我满意(在一个YAML文件中嵌入YAML文件,另一个答案是将JSON解码为一个对象,该对象只包含我在其中插入字符串的相关部分)。 最佳答案 YAML规范允许在一个文件中包含多个YAML文档,方法是使用---分隔它们:http://yaml.o

go - 如何在父子顺序中构造yaml文件?

我想通过yaml文件使用golang形成一个结构,但我发现很难做到这一点。api:local:host:localhostport:8085develop:host:port:production:host:port:rest-api:local:host:localhostport:8085develop:host:port:production:host:port:这是我的yaml文件中的格式预期的代码是我想在本地创建一个动态的apiurl,开发和生产格式,如api:local=host+port,与开发和生产相同,以便轻松地动态配置和设置感谢您在golangstruct方面的帮助

go - 无法将 yaml 文件解码为结构

我正在尝试将UnmarshalS放入DataCollectionFromYAML----labels:cats,cute,funnyname:"funnycats"url:"http://glorf.com/videos/asfds.com"-labels:cats,ugly,funnyname:"morecats"url:"http://glorf.com/videos/asdfds.com"-labels:dogs,cute,funnyname:"lotsofdogs"url:"http://glorf.com/videos/asasddfds.com"-name:"birddan