Bash:
Trabalhando com JSON

Como fazer:

O Bash por si só não possui capacidades internas de análise de JSON, mas jq é um poderoso processador JSON de linha de comando que preenche essa lacuna. Veja como usá-lo:

Lendo um arquivo JSON:

Exemplo data.json:

{
  "name": "Jane Doe",
  "email": "[email protected]",
  "location": {
    "city": "New York",
    "country": "USA"
  }
}

Para ler e extrair o nome do arquivo JSON:

jq '.name' data.json

Saída:

"Jane Doe"

Modificando dados JSON:

Para atualizar a cidade para “Los Angeles” e escrever de volta no arquivo:

jq '.location.city = "Los Angeles"' data.json > temp.json && mv temp.json data.json

Analisando JSON de uma variável:

Se você tem JSON em uma variável Bash, jq ainda pode processá-lo:

json_string='{"name": "John Doe", "email": "[email protected]"}'
echo $json_string | jq '.name'

Saída:

"John Doe"

Trabalhando com arrays:

Dado um array de itens em JSON:

{
  "items": ["apple", "banana", "cherry"]
}

Para extrair o segundo item (a indexação começa em 0):

jq '.items[1]' data.json

Saída:

"banana"

Para operações mais complexas e filtragem, jq tem um manual abrangente e tutoriais disponíveis online, tornando-o uma ferramenta versátil para todas as suas necessidades de Bash/JSON.