#json #web-scraping #jq
#json #очистка веб-страниц #jq
Вопрос:
У меня есть несколько сотен таксономических идентификаторов, и я использую curl
и jq
для извлечения соответствующих значений из http://taxonomy.jgi-psf.org/tax/accession .
Есть ли способ передать jq самому себе, чтобы я мог использовать значение «level» в качестве ключа к другому запросу?
Для этого примера я хотел бы объединить эти две команды в одну:
$ curl -s http://taxonomy.jgi-psf.org/tax/tax_id/48479 | jq '.[] | .level'
«нет ранга»
$ curl -s http://taxonomy.jgi-psf.org/tax/tax_id/48479 | jq '.[] | ."no rank".name'
«образцы среды»
Ответ №1:
Вы можете использовать level
значение свойства в качестве ключа:
$ curl -s http://taxonomy.jgi-psf.org/tax/tax_id/48479 | jq '.[] | .["(.level)"].name'
"environmental samples"
Комментарии:
1. Вам вообще не нужна интерполяция строк.
.[][.[].level].name
достаточно.