Conversor de INI para JSON

Arquivos INI são o formato de configuração plano chave-valor que você ainda encontra em aplicativos Windows, no próprio php.ini do PHP e em muitos runners de CI. JSON é o formato que a maioria das bibliotecas modernas espera. Este conversor percorre um INI, respeitando blocos [seção], linhas chave = valor e comentários de ponto e vírgula, e retorna um JSON equivalente onde cada seção se torna um objeto.

Como converter INI para JSON

  1. 1

    Cole o conteúdo INI

    Seções entre colchetes, pares chave=valor abaixo.

  2. 2

    Analisar

    Comentários (";" e "#") e linhas em branco são descartados; espaços em branco ao redor de "=" são ignorados.

  3. 3

    Mapear para JSON

    Cada seção se torna um objeto JSON; chaves de nível superior fora de qualquer seção vão para a raiz.

  4. 4

    Copiar o JSON

    A saída é formatada com indentação de 2 espaços.

Exemplo

Entrada:

; configuração do banco de dados
[banco]
host = db.example.com
port = 5432
user = app

[cache]
driver = redis
ttl = 3600

Saída:

{
  "banco": {
    "host": "db.example.com",
    "port": "5432",
    "user": "app"
  },
  "cache": {
    "driver": "redis",
    "ttl": "3600"
  }
}

Peculiaridades do INI que o conversor lida

Sintaxe INI Comportamento
; comentário Descartado
# comentário Descartado (não padrão, mas comum)
Seção ausente Chaves vão para o objeto raiz
Chaves duplicadas A última prevalece
Formato de array key[] Torna-se um array JSON (estilo PHP)
Valores entre aspas Aspas removidas; conteúdo interno preservado

O que não faz

  • Inferência de tipo. INI é tipado como string; 42 e “42” parecem idênticos. Todos os valores saem como strings JSON, a menos que você opte por uma etapa de “tentar número/booleano”.
  • Seções aninhadas. O INI padrão não tem seções aninhadas. Um bloco [banco.primário] é mantido como uma única chave em vez de um objeto aninhado.
  • Valores de várias linhas (além do que o INI permite).

Quando o INI ainda faz sentido

Para configuração plana com editores não técnicos, o INI é difícil de superar, uma chave por linha, sem chaves, muito permissivo. O JSON vence quando as ferramentas precisam consumir os dados e a estrutura aninhada importa.

Perguntas frequentes

Porque o INI é tipado como string. “42” e “quarenta e dois” são ambos valores válidos e o conversor não consegue diferenciá-los sem dicas. Se você precisar de JSON numérico, execute uma etapa de pós-processamento ou ative a “inferência de tipo automática” se sua ferramenta suportar.

A especificação INI não inclui seções aninhadas, [a.b] é uma única seção cujo nome contém um ponto. Transformar isso em JSON aninhado é uma convenção, não um padrão, então o conversor mantém as seções planas.

Sim. Múltiplas linhas key[] = valor na mesma seção se colapsam em um array JSON. Um único key[] ainda sai como um array de um elemento para manter a forma consistente.

Não. A análise acontece no navegador e o conteúdo nunca é enviado externamente.

Ferramentas relacionadas

Ferramenta disponível em outros idiomas