登录
首页 >  Golang >  Go问答

出错信息:在将 YAML 转换为 JSON 时出现问题:YAML 第 xx 行缺少预期的键

来源:stackoverflow

时间:2024-02-22 11:27:26 190浏览 收藏

今日不肯埋头,明日何以抬头!每日一句努力自己的话哈哈~哈喽,今天我将给大家带来一篇《出错信息:在将 YAML 转换为 JSON 时出现问题:YAML 第 xx 行缺少预期的键》,主要内容是讲解等等,感兴趣的朋友可以收藏或者有更好的建议在评论提出,我都会认真看的!大家一起进步,一起学习!

问题内容

我的values.yaml 文件中有一个json 编码的字符串->

values.yaml

network:
  cidrs : "[\"123.123.123.123/32\",\"123.124.125.125/32\"]"

现在,我想将此值用作我的网络策略出口 ipblock 中的字符串列表。但我无法将其转换为列表。

目前,我正在按照此方法来实现要求,但失败了 -

error converting yaml to json: yaml: line xx : did not find expected key

netpol.yaml

spec:
  podSelector:
    matchLabels:
      name: log-forwarder
  policyTypes:
  - Egress
  egress:
  {{- $json := .Values.network.cidrs | fromJson -}}
  {{- range $json }}
  - to:
    - ipBlock:
        cidr: {{- . }}
  {{- end }}
    ports:
    - protocol: TCP
      port: 443

知道如何将编码字符串转换为字符串列表并在我的网络策略中使用它吗?


正确答案


使用 mustFromJson 而不是 fromJson,最近遇到了同样的问题并修复了它,要查看文档以找出原因。

编辑:由于某种原因 fromJson 无法处理顶级列表,但 mustFromJson 可以,看起来像一个错误,因为文档中列出的唯一区别是 mustFromJson 在 JSON 无效的情况下返回错误。

来源

好了,本文到此结束,带大家了解了《出错信息:在将 YAML 转换为 JSON 时出现问题:YAML 第 xx 行缺少预期的键》,希望本文对你有所帮助!关注golang学习网公众号,给大家分享更多Golang知识!

声明:本文转载于:stackoverflow 如有侵犯,请联系study_golang@163.com删除
相关阅读
更多>
最新阅读
更多>
课程推荐
更多>