2017-11-17 17 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

'Windowsのcmdシェルの引用符で問題が発生しましたか?' 'jq 'mapを実行しようとしたときに同じエラーが表示されます(ParameterKey ==" Project "ならば+。" {ParameterValue "=" jess-project "} else。 ) ''PowerShellでは、シェルの引用問題ではないと思います。 –

+0

この問題をLINUXで取得する – spiderman

答えて

1

jqでのオブジェクトの建設は、JavaScript Object Notation(JSON)に似た構文を使用しています。

{"ParameterValue" = "jess-project"}はJSONでは無効です。 {"ParameterValue": "jess-project"}を意味しましたか?

+0

cat test.json | jq:error:ParameterKey/0はの行1で定義されていません: map((1)、(2)、(3)もしParameterKey == "Project"なら+。 "ParameterValue": "jess-project"} else。end) jq:1コンパイルエラー – spiderman

+1

https://stedolan.github.ioのマニュアルを読むことをお勧めします。/jq/manual /を参考にしてください。多分あなたは '.ParameterKey'を意味しましたか? –

関連する問題