私はとしてJSON文字列を得た:私がやりたいことは、ループ内のすべてのid
、 は、私は次のコードを使用して取得することですどのように私はJQで変数を使用することができます(MacOSの、シェル)
{
"id": 3397,
"title": "title_1"
}
{
"id": 3396,
"title": "title_2"
}
:それは動作しません
for ((i = 0; i < requestCount; i++)); do
requestId=$(echo $jsonString[$i] | jq '.id')
echo requestId;
done
しかし、私は、変数の使用方法が間違っている、私はjqここに有益な何かを見つけることができませんと思います。
それはあなたが持っている入力のどのような形は明らかではありません。 'jsonString'は実際のシェル配列で、オブジェクトごとに1つのJSON要素がありますか? 'jq'は既にそれ自身で反復することができるので、' [{...}、{...}] 'のような適切なJSON配列を持っていれば、' echo "$ json" | jq '.id''。 – chepner
私は単純にすべてのidを出力したいと思ったらあなたは正しいです。しかし、私はこのループの次のコマンドですべてのIDを使用する必要があります。 –