【发布时间】:2018-12-19 06:38:42
【问题描述】:
我正在尝试编写一个函数来从 yaml 文件中获取值的所有路径,但我不知道这怎么可能,这是我的代码:
func getpath(fileyaml) string {
if _, err := os.Stat(fileyaml); err == nil {
bfile, err := ioutil.ReadFile(fileyaml)
bjson, err := yaml.YAMLToJSON(bfile)
if err != nil {
fmt.Printf("YAMLToJSON err: %v\n", err)
}
json := string(bjson)
println json
paths := ? // don't know
return path
这里是我的 yaml 文件:
sentinel:
number: 3
server:
number: 7
config:
fere_size: 5
lcmea:
eza_ze: all
我的函数会将其转换为 json:{"config":{"fere_size":5},"lcmea":{"eza_hooks":"all"},"sentinel":{"number":3},"server":{"number":7}}
我想要的输出:
sentinel.number=3, server.number=3,config.fere_size=5,lcmea.eza_ze=all
如何解析此 json 以获得所需的输出?
我正在使用“github.com/tidwall/gjson”来读取yaml并将其转换为json
【问题讨论】:
-
为什么需要将其转换为 json,您可以将 YAML 解组为一个结构,然后打印该结构的必填字段
-
你怎么能展示一个例子,因为我的 yaml 改变它是动态的