Conversor de configuración
Pega un formato de configuración y obtén los otros dos mientras escribes.
Cómo se usa
- Pega tu configuración: YAML, JSON o .properties de Java. El formato se detecta y los otros dos aparecen abajo mientras escribes; no hay ningún botón que pulsar.
- Si la detección falla, elige tú el formato de origen. Escoge 2 o 4 espacios de sangría y desactiva «Expandir claves con puntos» para mantener planas las claves al estilo Spring.
- Copia o descarga cada resultado por separado: los nombres de archivo son config.yaml, config.json y config.properties.
Ejemplo
Entrada (YAML)
server: port: 8080 name: order-service debug: true
JSON y Properties
{
"server": {
"port": 8080,
"name": "order-service"
},
"debug": true
}
Properties
----------
server.port = 8080
server.name = order-service
debug = trueSolo con las reglas por defecto: el origen se detecta como YAML, así que 8080 sigue siendo un número y true un booleano. Properties no tiene tipos, así que los mismos valores salen como las cadenas 8080 y true; cuando el origen es .properties son cadenas de principio a fin.
Reglas, límites y problemas conocidos
- Solo tres formatos: YAML, JSON y .properties de Java. Sin TOML, sin cabeceras [sección] de INI, sin XML ni CSV.
- YAML se admite como subconjunto de configuración: mapas por bloques, secuencias, flow {…} / […], escalares entrecomillados y escalares de bloque | / >. Las anclas (&), los alias (*), las etiquetas !tag, las claves de fusión << y las claves complejas ? se notifican como errores en lugar de adivinarse.
- Solo se convierte el primer documento YAML; un --- posterior se ignora y se avisa.
- Los comentarios no se conservan: los tres formatos los colocan de forma distinta, así que un comentario mal situado es peor que ningún comentario.
- Properties no tiene tipos. Todos los valores son cadenas, así que port = 8080 se convierte en "8080" en JSON, no en 8080. Los números, los booleanos y null solo sobreviven cuando el origen es YAML o JSON.
- El texto no ASCII se escribe tal cual (UTF-8), no escapado como \uXXXX. Properties.store() de Java escribe ISO-8859-1, así que guarda el archivo como UTF-8 si lo vas a pegar en un proyecto Java.
- Los enteros fuera del rango seguro (como 12345678901234567890) se conservan como cadenas con los dígitos exactos que escribiste, en lugar de redondearse a un número.
- El orden de las claves sigue tu entrada; no hay opción de ordenar.
- Un array o un valor suelto de nivel superior no se puede escribir como properties: ese panel lo indica y el otro sigue convirtiendo.
- Sin subida de archivos, sin parámetros en la URL y sin historial. Todo funciona en tu navegador: no se sube ni se guarda nada.
- Una cadena que contiene un salto de línea se escribe como "a\nb" en YAML, no como un escalar de bloque |.
- Límites: 1.000.000 de caracteres y 64 niveles de anidamiento; si se supera cualquiera, se muestra un error en lugar de un resultado truncado. Por encima de 200.000 caracteres el resultado se actualiza unos 0,6 s después de que dejes de escribir; la salida usa LF y no termina en salto de línea.
Herramientas relacionadas
Lo que suele hacer falta después, una vez que la configuración está en el formato correcto.