No meu script de shell Unix, quando executo um comando curl, o resultado será exibido como abaixo do qual estou redirecionando para o arquivo:
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
Mas, eu quero que esta saída coloque no formato JSON legível como abaixo no arquivo:
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
Como formatar a saída dessa maneira?
json_pp
parece formatar os dados na ordem inversa do que o esperado. Existe uma maneira de cancelar a reversão de dados?Eu estou supondo que você deseja prettify a saída JSON. Isso pode ser alcançado usando python:
curl http://localhost:8880/test.json | python -mjson.tool > out.json
fonte
head
comando que interrompe a saída da tubulação antes de chegar ao final, "quebrando" o cano. Se você permitirhead
consumir todo o fluxo de dados do canal, esperaria que o erro não fosse exibido.também pode ajudar.
fonte
Você pode usar este módulo de nó
[sudo] npm i -g json
; // sugere não usar privilégios de root para instalar o módulo do nóbasta acrescentar
|json
depois de enrolar.curl http://localhost:8880/test.json |json
fonte
Isso é para adicionar à resposta de Gilles. Existem várias maneiras de fazer isso, mas pessoalmente eu prefiro algo leve, fácil de lembrar e universalmente disponível (por exemplo, vem com instalações LTS padrão do seu gosto Linux ou fácil de instalar) em sistemas comuns * nix.
Aqui estão as opções em sua ordem preferida:
Módulo Python Json.tool
jq (pode exigir uma instalação única)
json_pp (disponível no Ubuntu 16.04 LTS)
Para usuários Ruby
fonte
cat myFile.json | python -mjson.tool >> myFilePretty.json
abrir no meu editor (vim, não odeio) e tenho cores.Achei o json_reformat muito útil. Então, eu fiz o seguinte:
é isso aí!
fonte
Confira curljson
fonte
Motivação: você deseja imprimir a resposta JSON de pré-definição após a solicitação do comando curl.
Solução : json_pp - ferramenta de linha de comando que converte entre alguns formatos de entrada e saída (um deles é JSON). Este programa foi copiado do json_xs e modificado. O formato de entrada padrão é json e o formato de saída padrão é json com a opção pretty.
Sinopse :
json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
Fórmula :
<someCommand> | json_pp
Exemplo :
Solicitação
Resposta
fonte