Tenho um objeto json que tem um número desconhecido de variáveis, assim:
{
"var1": 123,
"var2": 456,
"var3": 789
}
Como posso convertê-lo automaticamente para formar a seguinte string?
'var1=123,var2=456,var3=789'
Observe que estou procurando uma solução que não exija a instalação do jq.
Se você não se importa com a ordem dos membros do objeto:
O perl vem pré-instalado na maioria dos sistemas, e JSON::PP é um de seus módulos integrados.
Ou se o seu sistema tiver python3:
(a ordem deve ser preservada, pois os dicionários do python3, ao contrário dos hashes do perl, mantêm o controle da ordem das chaves).
Com uma entrada menos domesticada como:
Eles dão
E
Respectivamente, enquanto
mlr --ijson cat
dá:E
jq -r 'to_entries|map("\(.key)=\(.value)")|join(",")'
dá:(embora nem o
jq
nem omlr
sejam geralmente instalados por padrão).Se for sempre tão simples, algo assim pode funcionar
Em partes:
:
para=
Uma opção para fazer isso com
awk
vontade seria:Este comando espera
{
que e}
sejam os únicos símbolos na linha e o resto do formato seja estritoSe você quiser ter uma nova linha no final, você pode usar o comando: