= json {{tag>development addendum}} == install (raspberry) cd /tmp wget https://github.com/stedolan/jq/releases/download/jq-1.5/jq-1.5.tar.gz tar xfvz jq-1.5.tar.gz cd jq-1.5 ./configure && make && sudo make install == tutorials * [[https://linuxhint.com/bash_jq_command/]] == jq (shell) === selección { "ACTION": "domain.list", "DATA": [ { "TYPE": "slave", "AXFR_IPS": "none", "DOMAIN": "domain1.com", "TTL_SEC": 0, "SOA_EMAIL": "", "DOMAINID": 11111, "DESCRIPTION": "", "EXPIRE_SEC": 0, "RETRY_SEC": 0, "STATUS": 1, "LPM_DISPLAYGROUP": "", "REFRESH_SEC": 0 }, { "TYPE": "slave", "AXFR_IPS": "none", "DOMAIN": "domain2.net", "TTL_SEC": 0, "SOA_EMAIL": "", "DOMAINID": 22222, "DESCRIPTION": "", "EXPIRE_SEC": 0, "RETRY_SEC": 0, "STATUS": 1, "LPM_DISPLAYGROUP": "", "REFRESH_SEC": 0 }, { "TYPE": "slave", "AXFR_IPS": "none", "DOMAIN": "domain3", "TTL_SEC": 0, "SOA_EMAIL": "", "DOMAINID": 33333, "DESCRIPTION": "", "EXPIRE_SEC": 0, "RETRY_SEC": 0, "STATUS": 1, "LPM_DISPLAYGROUP": "", "REFRESH_SEC": 0 }, ], "ERRORARRAY": [] } | jq '.DATA | .[2]' | jq '.DATA | .[].DOMAINDID' | jq '.DATA[] | select(.DOMAIN == "domain2") | .DOMAINID' /via: [[https://github.com/stedolan/jq/issues/370]] === script sample='[{"name":"foo"},{"name":"bar"}]' for row in $(echo "${sample}" | jq -r '.[] | @base64'); do _jq() { echo ${row} | base64 --decode | jq -r ${1} } echo $(_jq '.name') done /via: [[https://starkandwayne.com/blog/bash-for-loop-over-json-array-using-jq/]]