私のプログラムは、タスクリストを含むフィールドを持つオブジェクトであることを返しJSON
ます。各ジョブには、次のフィールドが含まれています。stdout
operations
id
{
"operations": [
{
"id": "694ef895-793f4631-41103e8-8ab59e66",
私はそれからIDのリストを取得しようとしていますjq
。
文を書いているなら
jq '.operations | .[] | .id'
私が文章を書くと効果がある
jq '.operations | .[].id'
それも動作します。
つまり、並置はここと同じです|
。
しかし、私が書くなら
jq '.operations.[].id'
メッセージで失敗します
jq:エラー:構文エラー、予期しない「[」、FORMATまたはQQSTRING_STARTが必要です(Unixシェルの引用の問題?)、行1:.Operations。[].id jq:1コンパイルエラー
理由と回避策は何ですか?
答え1
.foo.bar
合計のみを比較する|
限り、マニュアルページの「基本フィルタ」に記載されているように違いはありません。
形式のフィルタは
.foo.bar
と同じです.foo|.bar
。
はい、あなたの.operations[].id
場合はそれが必要です。