JC, convierte la salida de herramientas de línea de comandos populares a JSON
(github.com/kellyjonbrazil)Resumen del convertidor JSON JC
jcconvierte la salida de herramientas CLI, tipos de archivo y cadenas comunes al formato JSON para que sea más fácil de parsear en scripts.- Con el ejemplo del comando
dig, se puede ver la salida convertida a formato JSON, y luego procesarla aún más con herramientas comojqojello. - También puede usarse como biblioteca de Python; en ese caso, devuelve diccionarios de Python, listas de diccionarios u objetos iterables perezosos de diccionarios en lugar de JSON.
Cómo instalar el convertidor JSON JC
- Se puede instalar mediante
pip, repositorios de paquetes del sistema operativo o descarga de binarios. - Se proporcionan comandos de instalación para varias distribuciones de Linux, macOS y FreeBSD.
Cómo usar el convertidor JSON JC
- Recibe entrada canalizada desde
STDINy emite enSTDOUTla salida del comando anterior en formato JSON. - Se puede convertir usando la sintaxis "mágica" al anteponer
jcal comando, o usarlo antes de una ruta de archivo de/proc. - Permite ajustar el formato de salida y procesar líneas específicas mediante varias opciones de parser y funciones de slicing.
Características del convertidor JSON JC
- Ofrece representaciones de datos predeterminadas y sin procesar, y convierte los números conocidos en valores JSON int/float según el esquema.
- Se puede acceder al JSON sin procesar y preprocesado con la opción
--rawo el parámetroraw=True. - Los parsers en streaming permiten procesar grandes volúmenes de salida de comandos de forma eficiente en memoria.
Importancia del convertidor JSON JC
- En publicaciones de blog y entrevistas se pueden conocer la motivación del proyecto y sus casos de uso para llevar la filosofía Unix al siglo XXI.
- Es útil para parsear la salida de comandos en entornos como scripts de Bash, Ansible, Saltstack, Nornir y FortiSOAR.
Compatibilidad del convertidor JSON JC
- Algunos parsers funcionan sin depender de la plataforma, mientras que los que convierten salidas específicas de una plataforma pueden generar mensajes de advertencia de compatibilidad.
- Toda la información de los parsers puede consultarse ejecutando
jc -ap.
Cómo contribuir al convertidor JSON JC
- Se agradecen contribuciones de código o la adición/mejora de parsers; se puede enviar un pull request usando
jc/parsers/foo.pyojc/parsers/foo_s.pycomo plantilla.
Opinión de GN⁺
Lo más importante de este texto es que jc convierte la salida de distintos comandos, tipos de archivo y cadenas a JSON para que pueda procesarse de forma programática. Esto permite a los desarrolladores manejar datos con mayor facilidad, especialmente al hacer scripting en entornos Unix y Linux. El motivo por el que este texto resulta interesante es que jc es una herramienta que puede mejorar mucho la automatización y la eficiencia en el desarrollo de software y la administración de sistemas.
1 comentarios
Opiniones en Hacker News
Se resolvió el problema de convertir la salida de comandos a formato JSON en FreeBSD usando la biblioteca
libxolsestaba soportado, pero hubo casos en que se eliminó--jsonen Unix/LinuxSe expresan preocupaciones sobre la dificultad del mantenimiento
--<CMD>podría hacer más compleja la ayuda/el manualSe presenta una herramienta llamada Nushell
Evaluación positiva de que las herramientas CLI soporten salida JSON
Opinión sobre el uso de la herramienta
jcjc dig example.comdebería ser el modo principal de uso, mejor quedig example.com | jc --digSe expresa preferencia por que toda la salida en PowerShell sea en forma de objetos
Se expresa respeto por quien se encarga del mantenimiento de la herramienta
jcPregunta sobre una lista de herramientas modernas de comandos Unix que acepten la opción
--jsonSeñalamiento de un defecto de diseño de Unix
Sorpresa por no haber usado
textfsmtextfsmse usa ampliamente para parsear la salida CLI de equipos de red