Formatação e Avaliador de Jsonnet
Guia
Formatação e Avaliador de Jsonnet
Cole a fonte Jsonnet no campo de entrada ou arraste um arquivo para o carregador. Obtenha um resultado totalmente avaliado em JSON ou formate a fonte em si. Esta ferramenta funciona totalmente no seu navegador, então sua configuração nunca sai da página. Útil para pré-visualizar manifestos do Kubernetes, dashboards do Grafana, ambientes do Tanka ou qualquer outra configuração expressa em Jsonnet.
Como usar
- Cole o código Jsonnet no campo de entrada ou arraste um
.jsonnet/.libsonnetarquivo para o carregador. - Selecionar Avaliar → JSON para calcular o resultado ou Formatar fonte Jsonnet para reimprimir a fonte com indentação consistente.
- Escolha a indentação desejada (2 espaços, 4 espaços, tab ou minificada).
- Opicionalmente, ordene as chaves de objetos alfabeticamente ou force a saída de string em casos em que o nível superior avalia-se como uma string simples.
- Copie o resultado com um clique ou baixe como
.json/.jsonnet.
Características
- Avaliação em tempo real – A fonte Jsonnet é analisada e avaliada para JSON enquanto você digita, com atualizações amortecidas para garantir a resposta.
- Herança de objetos – Suporte completo aos operadores do campo, além de
+:,::e, e:::compreensõesselfesuperLado do cliente - Compreensões – Ambas as compreensões de array
[expr for x in xs if cond]e de objeto.{[k]: v for k in keys}Funções e fechaduras - – Funções de nível superior e inline com argumentos posicionais, nomeados e com valores padrão. Subconjunto da biblioteca padrão
- – Ajuda comum como , e mais.
std.*Formatação de stringsstd.map,std.filter,std.foldl,std.range,std.join,std.sort,std.objectFields,std.mergePatch,std.format– A formatação em estilo Python funciona exatamente como esperado, incluindo especificadores de precisão e largura. - Mensagens de erro com localização – Erros de análise e de execução reportam a linha e coluna para que você encontre o problema rapidamente.
%Privacidade por design - – Tudo é executado localmente no seu navegador; nada é enviado para um servidor. Quando usar Jsonnet
- Jsonnet é uma linguagem de modelagem de dados que compila para JSON. É mais útil quando você precisa gerar muitos JSON ou YAML semelhantes e deseja evitar a duplicação por cópia e cola. Casos típicos incluem deploys do Kubernetes onde muitos recursos compartilham um boilerplate, dashboards do Grafana com modelos de painel repetidos, definições de pipelines de CI, e pacotes de flags de recursos ou configurações que variam ligeiramente entre ambientes. Este avaliador em navegador funciona sem sistema de arquivos, então
não são suportados. O formatação não preserva comentários, pois funciona a partir de um AST analisado. A biblioteca padrão cobre os casos comuns — se você depender de ajudantes específicos, execute o binário oficial para a saída final.
O que é Jsonnet e como ele se relaciona com JSON?
Limitações
Jsonnet é uma linguagem de configuração pequena e funcionalmente pura, que é um superset estrito do JSON. Qualquer documento JSON é um programa válido em Jsonnet, mas Jsonnet adiciona variáveis, funções, condicionais, cálculos aritméticos, interpolação de strings e herança de objetos. Os programas são avaliados para valores JSON simples, então a saída é sempre algo que todos os sistemas já entendem. import, importstre, e importbin Por que Jsonnet não é apenas JSON com comentários? jsonnet O JSON não possui mecanismo de abstração, o que significa que documentos semelhantes acabam sendo copiados e colados e se afastam ao longo do tempo. O Jsonnet introduz locais, funções e herança de objetos para definir uma estrutura compartilhada uma vez e reutilizá-la. A linguagem é determinística e sem efeitos colaterais, então a mesma entrada sempre produz o mesmo JSON — uma propriedade útil para infraestrutura reprodutível.
Perguntas frequentes
-
O que faz o operador +: no herança de objetos Jsonnet?
No Jsonnet, o operador do campo mescla com o campo de mesmo nome no objeto pai em vez de substituí-lo. Para números e strings, a mescla é adição ou concatenação; para arrays, é concatenação; para objetos, é uma mescla profunda. Isso permite que um objeto derivado extenda em vez de substituir o valor do pai, que é o mecanismo central por trás das bibliotecas de configuração em camadas.
-
Qual a diferença entre self e super no Jsonnet?
self refere-se ao objeto atualmente sendo construído, incluindo quaisquer substituições posteriores — então um campo definido em termos de
-
sempre vê o valor final de
refere-se especificamente ao pai em uma cadeia de herança, então
+:alcança o valor de -
antes que as substituições do objeto atual fossem aplicadas. Juntos, eles permitem ligação tardia (via
self) e acesso explícito aos valores herdados (viaself.xComo a avaliação do Jsonnet difere de uma linguagem de modelo como Helm ou Jinja?x.superAs linguagens de modelo produzem texto por substituição de strings, o que significa que a estrutura do resultado não é garantida como JSON ou YAML até a renderização. O Jsonnet avalia uma árvore de expressões tipadas para um valor JSON, então a correção sintática é verificada no momento da avaliação e os erros apontam para a expressão original em vez de uma linha de texto gerada. A desvantagem é que o Jsonnet é uma linguagem real com suas próprias semânticas para aprender.super.xCole o código Jsonnet aqui...xO resultado avaliado em JSON ou o código Jsonnet formatado aparecerá aqui...selfFormatação e Avaliação de Jsonnet 1super). -
Formatação e Avaliação de Jsonnet
Cole a fonte Jsonnet e obtenha um resultado totalmente avaliado em JSON ou formate a fonte em si. Esta ferramenta funciona totalmente no seu navegador, então sua configuração
Instale nossas extensões
Adicione ferramentas de IO ao seu navegador favorito para acesso instantâneo e pesquisa mais rápida
恵 O placar chegou!
Placar é uma forma divertida de acompanhar seus jogos, todos os dados são armazenados em seu navegador. Mais recursos serão lançados em breve!
Ferramentas essenciais
Ver tudo Novas chegadas
Ver tudoAtualizar: Nosso ferramenta mais recente was added on Jun 26, 2026
