En mi script de shell de Unix, cuando ejecuto un comando curl, el resultado se mostrará como a continuación, que estoy redirigiendo al archivo:
{"type":"Show","id":"123","title":"name","description":"Funny","channelTitle":"ifood.tv","lastUpdateTimestamp":"2014-04-20T20:34:59","numOfVideos":"15"}
Pero, quiero que esta salida se ponga en el formato JSON legible como se muestra a continuación en el archivo:
{"type":"Show",
"id":"123",
"title":"name",
"description":"Funny",
"channelTitle":"ifood.tv",
"lastUpdateTimestamp":"2014-04-20T20:34:59",
"numOfVideos":"15"}
¿Cómo formateo la salida de esta manera?
json_pp
parece formatear los datos en orden inverso al esperado. ¿Hay alguna manera de deshacer los datos?Supongo que desea embellecer la salida JSON. Eso podría lograrse usando python:
fuente
head
comando corta la salida que se canaliza antes de llegar al final, por lo tanto, "rompe" la tubería. Si permitehead
consumir todo el flujo de datos de la tubería, espero que el error no aparezca.También puede ayudar.
fuente
Esto es para agregar a la respuesta de Gilles. Hay muchas maneras de hacer esto, pero personalmente prefiero algo liviano, fácil de recordar y universalmente disponible (por ejemplo, viene con instalaciones LTS estándar de su sabor preferido de Linux o fácil de instalar) en sistemas comunes * nix.
Aquí están las opciones en su orden preferido:
Módulo Python Json.tool
jq (puede requerir una sola instalación)
json_pp (disponible en Ubuntu 16.04 LTS)
Para usuarios de Ruby
fuente
cat myFile.json | python -mjson.tool >> myFilePretty.json
abrir en mi editor (vim, no odies) y obtuve colores.Puedes usar este módulo de nodo
[sudo] npm i -g json
; // sugiero no usar el privilegio de root para instalar el módulo de nodoluego simplemente agregue
|json
después del rizo.curl http://localhost:8880/test.json |json
fuente
Encontré que json_reformat es muy útil. Así que acabo de hacer lo siguiente:
¡Eso es!
fuente
Mira curljson
fuente
Motivación: desea imprimir la respuesta JSON de prettify después de la solicitud de comando curl.
Solución : json_pp : herramienta de línea de comandos que convierte entre algunos formatos de entrada y salida (uno de ellos es JSON). Este programa se copió de json_xs y se modificó. El formato de entrada predeterminado es json y el formato de salida predeterminado es json con una bonita opción.
Síntesis :
json_pp [-v] [-f from_format] [-t to_format] [-json_opt options_to_json1[,options_to_json2[,...]]]
Fórmula :
<someCommand> | json_pp
Ejemplo :
Solicitud
Respuesta
fuente