Я получил строку JSON, как:как я могу использовать переменный в JQ (MacOS, оболочка)
{
"id": 3397,
"title": "title_1"
}
{
"id": 3396,
"title": "title_2"
}
, что я хочу сделать, это получить все id
в цикле, я использую следующий код:
for ((i = 0; i < requestCount; i++)); do
requestId=$(echo $jsonString[$i] | jq '.id')
echo requestId;
done
, но он не работает, я думаю, что путь я использую переменную неправильно, я не могу найти ничего полезного здесь jq.
Это не ясно, какая форма ввода у вас есть. Является ли 'jsonString' фактическим массивом оболочки, с одним элементом JSON на объект? 'jq' уже может выполнять итерацию самостоятельно, поэтому, если у вас есть правильный массив JSON, такой как' [{...}, {...}] ', вы просто используете что-то вроде' echo '$ json "| jq '.id''. – chepner
Вы правы, если я хочу вывести весь id просто. Но мне нужно использовать каждый id в следующей команде в этом цикле. –