Maison  >  Article  >  développement back-end  >  helm : Erreur lors de la conversion de YAML en JSON : yaml : ligne xx : clé attendue introuvable

helm : Erreur lors de la conversion de YAML en JSON : yaml : ligne xx : clé attendue introuvable

PHPz
PHPzavant
2024-02-10 12:30:10722parcourir

helm :将 YAML 转换为 JSON 时出错:yaml:第 xx 行:未找到预期的密钥

helm est un gestionnaire de packages Kubernetes populaire utilisé pour simplifier le déploiement et la gestion des applications. Cependant, vous pouvez parfois rencontrer des erreurs lors de la conversion des fichiers YAML au format JSON. L'une des erreurs courantes est "helm : erreur lors de la conversion de YAML en JSON : yaml : ligne xx : impossible de trouver la clé attendue". Cette erreur signifie généralement qu'il manque une clé attendue à la ligne xx du fichier YAML. Dans cet article, nous examinerons les causes de cette erreur et proposerons des solutions pour y remédier.

Contenu de la question

Il y a une chaîne codée en json dans mon fichier Values.yaml->

values.yaml

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

Maintenant, je souhaite utiliser cette valeur comme liste de chaînes dans mon ipblock de sortie de politique réseau. Mais je ne peux pas le convertir en liste.

Actuellement, je suis cette méthode pour répondre à l'exigence mais elle a échoué -

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

Une idée sur la façon de convertir une chaîne codée en une liste de chaînes et de l'utiliser dans ma stratégie Web ?

Solution de contournement

En utilisant mustFromJson 而不是 fromJson, j'ai récemment rencontré le même problème et je l'ai résolu, je dois consulter la documentation pour en connaître la cause.

EDIT : Pour une raison quelconque, fromJson 无法处理顶级列表,但 mustFromJson 可以,看起来像一个错误,因为文档中列出的唯一区别是 mustFromJson renvoie une erreur si le JSON n'est pas valide.

Source

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Cet article est reproduit dans:. en cas de violation, veuillez contacter admin@php.cn Supprimer