liest json wie eine Variable in ansible

9

Ich bin neu zu ansible und ich habe ein Problem, einen Wert von JSON-Datei in ansible Rolle zu lesen. Meine Variable hat einen Wert wie folgt:

%Vor%

Ich versuche, den Wert der Farbe nur zu drucken, um sie mit einer anderen Variablen zu vergleichen. Ich habe with_dict verwendet, um über das json-Objekt (gespeichert in der Variablen jsonVar) wie folgt zu iterieren:

%Vor%

Bisher gibt es kein Glück, den Vergleich des Farbwerts von json mit "blau" aus der if-Anweisung zu erhalten. Ich habe mich gefragt, ob ich etwas falsch mache? Danke im Voraus!

    
tkyass 19.04.2016, 20:26
quelle

2 Antworten

7

Sie können eine JSON-Datei mit einem Nachschlage-Plugin namens file lesen und an den from_json jinja2-Filter übergeben. Sie hatten auch Fehler in der with_dict -Schleife, da Sie die jsonVar['queue'] , nicht nur jsonVar durchlaufen müssen. Hier ist ein vollständiger Code, der funktioniert:

%Vor%     
Strahinja Kustudic 19.04.2016 21:52
quelle
2

Sie können die | verwenden json_query-Filter

Ссылка

Aber stellen Sie sicher, dass die Datei, die Sie eingeben, auch im passenden Format ist, wenn nicht, dann können Sie zwei Filter verwenden, erstens, um in einen geeigneten Filter zu konvertieren und zweitens, um eine json Abfrage durchzuführen.

Beispiel: - {{ variable_name | from_json | json_query('')}}

In Ihrem Fall würde das meiner Meinung nach helfen:

%Vor%

Aber notieren Sie sich die Anforderungen wie Ansible-Version

    
VaibhavKrishna 30.03.2017 10:53
quelle

Tags und Links