De acordo com as Leis 12.965/2014 e 13.709/2018, que regulam o uso da Internet e o tratamento de dados pessoais no Brasil, ao me inscrever na newsletter do portal DICAS-L, autorizo o envio de notificações por e-mail ou outros meios e declaro estar ciente e concordar com seus Termos de Uso e Política de Privacidade.
Colaboração: Lucas Villela Canoas
Data de Publicação: 5 de outubro de 2021
A informação estruturada em JSON é para o programador o que a tinta é para um pintor, permite que deixemos tudo mais bonito. Se você está fazendo um trabalho por aí, possívelmente vai ter que usar, criar e manipular um JSON, muitas vezes consumindo uma API ou se comunicando com um serviço qualquer. Bash faz tudo isso e temos diversas maneiras que podemos trabalhar em cima.
As vezes não tem o que fazer, com recursos escassos, a única saída que temos
é usar o que temos na mão. Uma saída é criar uma estrutura JSON usando echo.
Não é lá muito vistoso, mas funciona!
NOMES="lucas larissa monica marcelo marcela tux"
echo '{"nomes":['
for nome in $NOMES
do echo "{\"nome\": \"$nome\"},"
done
echo '{"nome":"pinguim"}]'
Com um pouco mais de recursos, podemos fazer mais! Vamos incrementar um JSON:
NOMES="lucas larissa monica marcelo marcela tux"
SOBRENOMES="torres villela canoas macedo oliveira vilela"
JSON=[]
for nomes in $NOMES
do
for sobrenomes in $SOBRENOMES
do
JSON=$( jq ". | . += [{\"nome\":\"$nomes\", \"sobrenome\":\"$sobrenomes\"}]" <<< $JSON)
done
done
echo $JSON
O jq tem um grande poder de ação, podemos buscar, alterar e pegar dados específicos.
Por exemplo:
jq .[].nome <<< $JSON
assim pegaremos todos os nomes!
Lucas faz ciência da computação na UNESP, trabalha com monitoramento de ambientes usando Zabbix e publica alguns textos no lcsvillela.github.io