Hauptmenü

jq und geschweifte Klammern

Begonnen von Frank Niethardt, 23.08.2024 10:44:50

⏪ vorheriges - nächstes ⏩

Frank Niethardt

Hallo,

wenn man einen Variable über jq filtert, um dort beispielsweise alle ID / Value Paare aus einer Checkliste zu bekommen, dann kann man das in jqplay einfach über folgendes erreichen.
[.[] | recurse(.sub[]) | {id, value}]
Versucht man das ganze dann nach KIX zu übersetzen, scheitert die entsprechende Notation daran, dass die schließende Klammer als Variablenausdruck interpretiert wird.
${_Checklist|jq([.[] :: recurse(.sub[]) :: {id, value}])}
Kann man das irgendwie umgehen? 

Viele Grüße
Frank

Frank Niethardt

Wie es immer so ist, Ewigkeiten gesucht, aber kaum dass man die Frage gestellt hat, findet man dann auch die Lösung. Zwar nicht generell, aber für meinen Anwendungsfall.

[.[] | recurse(.sub[]) | pick(.id, .value)]
bzw.

[color=#5e5e64][size=2][font=DejaVu Sans Mono, Menlo, Monaco, Consolas, monospace]${_Checklist|jq([.[] :: recurse(.sub[]) :: pick(.id, .value)])}[/font][/size][/color]