2017-11-17 1 views
0
cat test.json | jq 'map(if ParameterKey == "Project"   then . + {"ParameterValue" = "jess-project"}    else .    end   )' 

jq: error: syntax error, unexpected '=', expecting '}' (Unix shell quoting issues?) at <top-level>, line 1: 
map(if ParameterKey == "Project"   then . + {"ParameterValue" = "jess-project"}    else .    end   )                  
jq: 1 compile error 
+0

Ich bekomme den gleichen Fehler mit 'Windows cmd shell quoting Probleme?' Beim Versuch, 'jq 'map (wenn ParameterKey ==" Projekt "dann. + {" ParameterValue "=" jess-Projekt "} sonst. Ende) "in PowerShell, also glaube ich nicht, dass es sich um ein Shell-Zitat handelt. –

+0

Erhalte dieses Problem in LINUX – spiderman

Antwort

1

Objektkonstruktion in jq Syntax verwendet ähnlich wie JavaScript Object Notation (JSON).

{"ParameterValue" = "jess-project"} ist in JSON nicht gültig. Meinst Du {"ParameterValue": "jess-project"}?

+0

cat test.json | jq 'map (wenn ParameterKey == "Project" dann. + {"ParameterValue": "jess-project"} sonst. end)' jq: error: ParameterKey/0 ist nicht definiert bei , line 1: map (wenn ParameterKey == "Project" dann. + {"ParameterValue": "jess-project"} sonst. end) jq: 1 Kompilierfehler – spiderman

+1

Ich würde empfehlen, dass Sie das Handbuch unter https://stedolan.github.io lesen/jq/manual/um Ihnen zu helfen, dies herauszufinden. Vielleicht meintest du '.ParameterKey'? –