2016-06-01 3 views
3

У меня есть следующий JSON-файл с примерами значений:JQ выберите значение из массива

{ 
    "files": [{ 
     "fileName": "FOO", 
     "md5": "blablabla" 
    }, { 
     "fileName": "BAR", 
     "md5": "alaldlafj" 
    }] 
} 

Теперь то, что я хочу, чтобы вернуть значение md5 где, например, имя файла «FOO». Для этого у меня есть следующее заявление в jq:

cat <file>.json | jq '.[] | select(.fileName=="FOO")' 

Однако ответ Спинка: jq: error (at <stdin>:11): Cannot index array with string "fileName"

Что такое правильный способ, чтобы вернуть значение md5 где имя_ключа приравнивает определенный аргумент?

ответ

3

Найдено ответ:

cat <file>.json | jq -r '.files[] | select(.fileName=="FOO") | .md5' 
Смежные вопросы