Go语言 helm:将YAML转换为JSON时出错:yaml:第xx行:找不到预期的键

uttx8gqw  于 2023-02-20  发布在  Go
关注(0)|答案(1)|浏览(291)

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

    • 值. yaml**
network:
  cidrs : "[\"123.123.123.123/32\",\"123.124.125.125/32\"]"

现在,我想在我的网络策略出口ipblock中使用这个值作为一个字符串列表,但是我不能把它转换成列表。
目前,我正在按照这个来达到要求,但它失败了-
将YAML转换为JSON时出错:yaml:第xx行:找不到预期的键

    • 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

任何想法,如何转换编码字符串列表的字符串和使用它在我的网络策略?

unftdfkk

unftdfkk1#

使用mustFromJson而不是fromJson,最近也有同样的问题,现在已经解决了,我会在文档中查看一下,看看是否能找到原因。
编辑:由于某种原因,fromJson无法处理顶级列表,但mustFromJson可以,看起来像是一个bug,因为文档中列出的唯一区别是mustFromJson在JSON无效的情况下返回错误。

相关问题