Conversor de JSON para Properties

Converta um objeto JSON para o formato .properties do Java, com achatamento de objetos aninhados e reinserção de comentários. Roda só no navegador.

Gere um arquivo .properties do Java a partir de um objeto JSON, pronto para ser carregado por java.util.Properties ou pelo Spring Boot. As chaves aninhadas são achatadas em nomes como server.port=8080; separadores e quebras de linha recebem escape com barra invertida para que os valores sobrevivam à ida e volta; e o que estiver em $comments retorna ao arquivo como comentário #. O processamento acontece no próprio navegador, sem upload.

JSON Entrada

Carregar

Opções avançadasConverterLimpar

.properties Saída

O resultado aparecerá aqui...

CopiarBaixar

O resultado aparecerá aqui...

Sobre o Conversor de JSON para Properties

O .properties é um formato orientado a linhas, por isso o serializador aplica escape a tudo o que mudaria a forma como o Java divide cada linha: um espaço dentro da chave vira \ , um = ou : dentro do valor vira \= ou \:, e uma quebra de linha vira \n. Chave e valor são ligados por =, e os objetos JSON aninhados são achatados em chaves com ponto, respeitando a ordem original. Texto fora do ASCII, como café, é gravado em UTF-8 e não como escapes \uXXXX. O Java 9 e versões posteriores leem resource bundles em UTF-8, mas Properties.load(InputStream) decodifica em ISO-8859-1 — no seu próprio código, carregue o arquivo por um Reader UTF-8.

Talvez você também precise

Properties para JSON

Converta arquivos .properties do Java para JSON com chaves com pontos aninhadas e inferência de tipos para números e booleanos.

Abrir ferramenta

JSON para Env

Converta objetos JSON para o formato .env CHAVE=VALOR com achatamento de chaves com pontos.

Abrir ferramenta

Formatador e Validador JSON

Formate, valide e visualize dados JSON.

Abrir ferramenta

YAML para JSON

Converter YAML para JSON ou JSON para YAML.

Abrir ferramenta

Como converter JSON para .properties

  1. 1

    Comece pelo objeto JSON

    Digite o objeto no painel de entrada ou use o ícone do frasco para carregar o exemplo { "server": { "port": 8080 } }; as chaves do primeiro nível viram nomes de propriedade.

  2. 2

    Confira o separador de chaves

    O ponto é o padrão Java (pense em spring.datasource.url) e pode ficar como está; se o projeto segue outra convenção, defina outro separador em Opções avançadas. Também é possível desligar o achatamento — aí cada objeto aninhado é gravado como texto JSON.

  3. 3

    Converta com escape automático

    Cada folha vira uma linha chave=valor; espaços nas chaves, separadores nos valores e quebras de linha recebem barra invertida, de modo que java.util.Properties leia de volta exatamente os mesmos valores.

  4. 4

    Salve em src/main/resources

    Copie a saída ou baixe um arquivo .properties para colocar em src/main/resources. Para refazer o caminho até o JSON, use o ícone de inverter direção.

Referências

Ferramentas para desenvolvedores relacionadas

Perguntas frequentes sobre JSON to Properties

Quais caracteres recebem escape com barra invertida?
Espaço dentro de chave, = e : dentro de valor, e quebras de linha. Exemplo: a\ b=x\=y e nota=linha1\nlinha2. São justamente as sequências que java.util.Properties decodifica ao carregar o arquivo.
Acentos e outros caracteres fora do ASCII viram \uXXXX?
Não, eles saem como UTF-8 puro. O Java 9+ carrega resource bundles .properties em UTF-8, porém java.util.Properties#load(InputStream) pressupõe ISO-8859-1; se o seu código usa essa API, leia o arquivo com load(Reader) e um leitor UTF-8.
Dá para montar o application.properties do Spring Boot a partir de JSON?
Dá. O Spring Boot trabalha com nomes de propriedade separados por ponto, e com o separador padrão { "server": { "port": 8080 } } se torna server.port=8080.
Um array vira hosts[0], hosts[1]...?
Não. O array inteiro vai para um único valor com o seu texto JSON, como hosts=["a","b"]; a forma indexada do Spring Boot (hosts[0]=a) não é gerada.
Números e booleanos mantêm o tipo?
No arquivo, não: em .properties todo valor é string, então true, false e números aparecem como texto. Quando passam pelo Properties to JSON com Inferir tipos ativo, voltam a ser tipos JSON reais.
Os comentários do Properties to JSON voltam para o arquivo?
Voltam. Cada item do objeto $comments — o mesmo que o Properties to JSON produz — é escrito como comentário # imediatamente antes da chave a que se refere. Para obter só pares chave=valor, mude a opção Comentários para Ignorar.
O JSON trafega pela internet?
Não. Leitura e formatação ficam no seu navegador; nenhuma requisição de rede carrega os seus dados.