Conversor de .properties do Java para JSON
Converta arquivos .properties do Java em JSON segundo as regras do Properties.load: comentários, separadores = : e espaço, continuação de linha, escapes \uXXXX e aninhamento.
Executa totalmente no seu navegador. Seus dados nunca são enviados.
Ferramentas Relacionadas
Ver TodasO que é Properties para JSON?
Cole um arquivo .properties do Java – por exemplo o application.properties do Spring Boot ou um message bundle – e obtenha JSON. As chaves podem ficar planas ("app.name") ou ser aninhadas em objetos pelos pontos.
Como usar Properties para JSON
- Cole o .properties na caixa Entrada .properties, ou use Carregar exemplo ou Abrir arquivo.
- Ative ou desative Aninhar chaves com ponto em objetos e escolha a Indentação do JSON.
- A saída JSON é atualizada enquanto você digita; use Copiar ou Baixar.
Exemplo
app.name = My App app.port: 8080
{
"app.name": "My App",
"app.port": "8080"
} Quando usar Properties para JSON
Use-o para inspecionar, migrar ou comparar configurações Java e bundles de i18n. Ele não resolve placeholders do Spring como ${server.port} nem arquivos específicos de profile.
Como funciona Properties para JSON
O parser segue o java.util.Properties.load: linhas que começam com # ou ! são comentários, uma linha que termina com um número ímpar de barras invertidas continua na próxima (com os espaços iniciais removidos) e a chave termina no primeiro =, : ou espaço sem escape. Os escapes \t, \n, \r, \f e \uXXXX são decodificados; qualquer outro caractere com escape vale ele mesmo. Duplicados posteriores prevalecem. No aninhamento, uma chave que colidiria com um valor existente (por exemplo a=1 e a.b=2) fica plana, para nada se perder. Todos os valores são strings, como no Java.
Casos de Uso Comuns
- Converter o application.properties em JSON ou em uma estrutura pronta para YAML
- Transformar um message bundle Java em JSON para uma biblioteca de i18n em JavaScript
- Comparar dois arquivos de propriedades como JSON
- Decodificar escapes \u em bundles antigos ISO-8859-1
Perguntas Frequentes
Números são convertidos?
Não. Propriedades Java são sempre strings, então os valores continuam strings, como “8080”.
Como a continuação de linha é tratada?
Uma barra invertida no final junta a linha seguinte, e os espaços iniciais dessa linha são removidos, exatamente como o Java faz.
O que acontece quando o aninhamento conflita?
Se existirem a e a.b, a.b fica como chave plana em vez de sobrescrever a.