Formateador y Evaluador de Jsonnet
Guía
Formateador y Evaluador de Jsonnet
Pega el código en Jsonnet en el cuadro de entrada o arrastra un
Cómo Usar
- archivo al subidor.
.jsonnet/.libsonnetpara calcular el resultado, o - Seleccionar Evaluar → JSON para volver a imprimir la fuente con indentación consistente. Formatear fuente en Jsonnet Elige tu indentación preferida (2 espacios, 4 espacios, tabulador o minificada).
- Opcionalmente ordena las claves de objetos alfabéticamente, o fuerza la salida en cadena en casos donde el nivel superior evalúa a una cadena simple.
- Copia el resultado con un solo clic o descárgalo como
- Evaluación en tiempo real
.json/.jsonnet.
Características
- – La fuente en Jsonnet se analiza y evalúa a JSON mientras es escrita, con actualizaciones amortiguadas para una respuesta fluida. Herencia de objetos
- – Soporte completo para los operadores del campo, más comprehensions
+:,::y:::– Ambas comprensiones de arraysselfysuperreferencias. - y comprensiones de objetos. Funciones y cierres
[expr for x in xs if cond]– Funciones en el nivel superior e inline con argumentos posicionales, nominales y por defecto.{[k]: v for k in keys}Subconjunto de la biblioteca estándar - – Ayudantes comunes como , y más.
- Formatos de cadenas – El formato en estilo Python funciona exactamente como se espera, incluyendo especificadores de precisión y anchura.
std.*Mensajes de error con ubicacionesstd.map,std.filter,std.foldl,std.range,std.join,std.sort,std.objectFields,std.mergePatch,std.format– Los errores de análisis y de ejecución reportan la línea y la columna para que puedas encontrar rápidamente el problema. - Privacidad por diseño – Todo se ejecuta localmente en tu navegador; nada se envía a un servidor.
%Cuándo usar Jsonnet - Jsonnet es un lenguaje de plantillas de datos que se compila a JSON. Es más útil cuando necesitas generar muchas estructuras similares de JSON o YAML y deseas evitar la duplicación por copiar y pegar. Casos típicos incluyen despliegues de Kubernetes donde muchos recursos comparten un boilerplate, dashboards de Grafana con plantillas repetidas de paneles, definiciones de pipelines de CI y paquetes de flags de características o de configuración que varían ligeramente entre entornos. Este evaluador en el navegador funciona sin sistema de archivos, por lo que
- no están soportados. El formateador no conserva comentarios, ya que funciona desde un AST analizado. La biblioteca estándar cubre los casos comunes — si dependes de ayudantes especializados, ejecuta la versión oficial para obtener el resultado final.
¿Qué es Jsonnet y cómo se relaciona con JSON?
Jsonnet es un lenguaje pequeño y funcional para configuración que es un superset estricto de JSON. Cualquier documento en JSON es un programa válido en Jsonnet, pero Jsonnet añade variables, funciones, condiciones, operaciones aritméticas, interpolación de cadenas y herencia de objetos. Los programas se evalúan a valores JSON simples, por lo que la salida siempre es algo que cualquier sistema ya entiende.
Limitaciones
¿Por qué Jsonnet no es simplemente JSON con comentarios? import, importstry importbin JSON no tiene mecanismos de abstracción, lo que significa que documentos similares terminan siendo copiados y pegados y se desvían con el tiempo. Jsonnet introduce locales, funciones y herencia de objetos para definir una estructura compartida una vez y reutilizarla. El lenguaje es determinista y sin efectos secundarios, por lo que el mismo input siempre produce el mismo JSON — una propiedad útil para infraestructuras reproducibles. jsonnet ¿Qué hace el operador +: en la herencia de objetos en Jsonnet?
Preguntas frecuentes
-
En Jsonnet, el operador del campo fusiona con el campo de nombre igual en el objeto padre en lugar de sobrescribirlo. Para números y cadenas, la fusión es suma o concatenación; para arrays es concatenación; para objetos es una fusión profunda. Esto permite que un objeto derivado extienda en lugar de reemplazar el valor del padre, que es el mecanismo fundamental detrás de bibliotecas de configuración en capas.
¿Cuál es la diferencia entre self y super en Jsonnet?
-
se refiere al objeto que se está construyendo actualmente, incluyendo cualquier sobrescritura posterior — así que un campo definido en términos de
siempre ve el valor final de
-
se refiere específicamente al padre en una cadena de herencia, así que
alcanza el valor de
+:antes de que se aplicaran las sobrescripciones del objeto actual. Juntos permiten el enlace tardío (mediante -
) y el acceso explícito a valores heredados (mediante
self¿Cómo difiere la evaluación en Jsonnet de un lenguaje de plantillas como Helm o Jinja?self.xLos lenguajes de plantillas generan texto mediante sustitución de cadenas, lo que significa que la estructura del resultado no está garantizada como JSON o YAML hasta que se renderiza. Jsonnet evalúa un árbol de expresiones tipado a un valor JSON, por lo que la corrección sintáctica se enforces en el momento de la evaluación y los errores apuntan a la expresión original en lugar de una línea de texto generada. El costo de este enfoque es que Jsonnet es un lenguaje real con sus propias semánticas para aprender.x.superPega el código en Jsonnet aquí...super.xEl resultado evaluado en JSON o el código formateado en Jsonnet aparecerá aquí...xFormateador y evaluador de Jsonnet 1selfFormateador y evaluador de Jsonnetsuper). -
Pega el código en Jsonnet y obtén un resultado completamente evaluado en JSON, o formatea la fuente por sí misma. Esta herramienta funciona completamente en tu navegador, así que tu configuración
Formateador y evaluador de Jsonnet - IO Tools
Instalar extensiones
Agregue herramientas IO a su navegador favorito para obtener acceso instantáneo y búsquedas más rápidas
恵 ¡El marcador ha llegado!
Marcador es una forma divertida de llevar un registro de tus juegos, todos los datos se almacenan en tu navegador. ¡Próximamente habrá más funciones!
Herramientas clave
Ver todo Los recién llegados
Ver todoActualizar: Nuestro última herramienta fue agregada el 11 de junio de 2026
