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
This policy contains information about your privacy. By posting, you are declaring that you understand this policy:
This policy is subject to change at any time and without notice.
These terms and conditions contain rules about posting comments. By submitting a comment, you are declaring that you agree with these rules:
Failure to comply with these rules may result in being banned from submitting further comments.
These terms and conditions are subject to change at any time and without notice.
Comentários