Como converter a estrutura da árvore de arquivos de um JSON em uma única linha?

4

Eu tenho um arquivo JSON como abaixo

{
    "Foo": "ABC",
    "Bar": "20090101100000",
    "Quux": {
        "QuuxId": 1234,
        "QuuxName": "Sam"
    }
}

Eu quero convertê-lo para o abaixo

{"Foo":"ABC","Bar":"20090101100000","Quux":{"QuuxId":1234,"QuuxName":"Sam"}}

Eu tentei remover os caracteres '\ n', '\ t' e ''; mas eu não estou entrando no formato necessário. Como posso convertê-lo?

    
por Rahul 17.05.2017 / 15:01

1 resposta

4

A maneira mais segura seria usar um analisador JSON, caso contrário, você tecnicamente corre o risco de modificar dados.

Usando jq :

$ jq -c . file.json
{"Foo":"ABC","Bar":"20090101100000","Quux":{"QuuxId":1234,"QuuxName":"Sam"}}

O -c flag para jq é a versão curta do --compact-output flag e solicitará jq para gerar a saída mais compacta possível. O ponto é um filtro de passagem simples que não modifica nenhum dos dados.

    
por 17.05.2017 / 15:08