pkaramol Asked: 2022-10-05 06:17:19 +0800 CST2022-10-05 06:17:19 +0800 CST 2022-10-05 06:17:19 +0800 CST Converter string separada por vírgula em array json 772 Eu tenho a seguinte string embash "3.8,3.9,3.10" Existe uma maneira de usar o shell para convertê-lo em uma jsonmatriz, ou seja ["3.8", "3.9", "3.10"] bash shell 1 respostas Voted Best Answer Kusalananda 2022-10-05T06:33:55+08:002022-10-05T06:33:55+08:00 Como a string (incluindo suas aspas duplas) parece ser uma string JSON formatada corretamente, poderíamos passá-la, como JSON, para o processador JSON jqe dividi-la por vírgulas: $ echo '"3.8,3.9,3.10"' | jq 'split(",")' [ "3.8", "3.9", "3.10" ] Use jqwith -cpara obter "saída compacta": $ echo '"3.8,3.9,3.10"' | jq -c 'split(",")' ["3.8","3.9","3.10"] Dando-o a uma variável interna jqna linha de comando e dividindo o valor dessa variável: $ jq -c -n --argjson str '"3.8,3.9,3.10"' '$str|split(",")' ["3.8","3.9","3.10"]
Como a string (incluindo suas aspas duplas) parece ser uma string JSON formatada corretamente, poderíamos passá-la, como JSON, para o processador JSON
jq
e dividi-la por vírgulas:Use
jq
with-c
para obter "saída compacta":Dando-o a uma variável interna
jq
na linha de comando e dividindo o valor dessa variável: