Conversor de JSON a Properties
Convierte un objeto JSON a formato .properties de Java, con aplanado de objetos anidados y reinserción de comentarios. Solo en tu navegador.
Genera un archivo .properties de Java a partir de un objeto JSON, listo para que lo carguen java.util.Properties o Spring Boot. Los objetos anidados pasan a claves con puntos del tipo server.port=8080; los separadores y saltos de línea se escapan con barra invertida para que los valores sobrevivan al viaje de ida y vuelta, y el mapa $comments se reescribe como comentarios #. Todo se procesa en el navegador, sin subir ningún dato.
Sobre el conversor de JSON a Properties
Java lee un .properties línea a línea, así que el serializador escapa todo lo que alteraría la forma en que se parte cada línea: un espacio dentro de una clave se escribe \ (barra invertida y espacio), un = o : dentro de un valor pasa a \= o \:, y un salto de línea se convierte en \n. Clave y valor se unen con =, y los objetos JSON anidados se aplanan en claves con puntos manteniendo su orden. El texto no ASCII, como café, se escribe en UTF-8 y no como escapes \uXXXX. Desde Java 9 los resource bundles se leen en UTF-8, pero Properties.load(InputStream) decodifica en ISO-8859-1; si tu propio código usa esa llamada, carga el archivo a través de un Reader en UTF-8.
También te puede interesar
Cómo convertir JSON a .properties
- 1
Parte de un objeto JSON
Escríbelo en el panel de entrada o carga con el icono del matraz el ejemplo { "server": { "port": 8080 } }. Las claves de primer nivel se convierten en nombres de propiedad.
- 2
Ajusta el separador de claves
Desde Opciones avanzadas puedes mantener el punto al estilo Java de nombres como spring.datasource.url, elegir otro separador o desactivar el aplanado para que los objetos anidados se queden como texto JSON.
- 3
Serializa con escapes
Pulsa Convertir: cada hoja da una línea clave=valor, y los espacios en claves, los separadores dentro de valores y los saltos de línea se escapan con barra invertida, de modo que java.util.Properties vuelve a leer exactamente los mismos valores.
- 4
Llévalo a src/main/resources
Copia la salida o descarga un archivo .properties para la carpeta src/main/resources de tu proyecto. Con el botón de invertir el sentido lo vuelves a pasar a JSON.
Referencias
- Java SE — java.util.Properties
La documentación oficial de la API de Java que define el formato de archivos .properties al que apunta la salida de este conversor.
- RFC 8259 — The JSON Data Interchange Format
La especificación del IETF para el formato JSON de entrada que interpreta esta herramienta.
Herramientas para desarrolladores relacionadas
Properties a JSON
Convierte un archivo .properties de Java a JSON y guarda los comentarios de cada clave en un mapa $comments.
JSON a Env
Convierte un objeto JSON a formato .env, el flujo equivalente para archivos de configuración de variables de entorno.
Formateador de JSON
Pega JSON sin formato y obtén al instante una vista formateada, con resaltado de sintaxis y validada antes de convertirlo.
YAML a JSON
Convierte entre formatos de configuración YAML y JSON.
Preguntas frecuentes sobre JSON a Properties
- ¿Qué caracteres se escapan con barra invertida?
- Los espacios dentro de una clave, los signos = y : dentro de los valores y los saltos de línea. Por ejemplo, a\ b=x\=y o note=line1\nline2: son justo los escapes que java.util.Properties decodifica al cargar el archivo.
- ¿Las tildes y la ñ se escriben como escapes \uXXXX?
- No: se guardan como UTF-8 sin escapar. Java 9 y posteriores cargan los resource bundles .properties en UTF-8, pero java.util.Properties#load(InputStream) asume ISO-8859-1; si tu código usa esa API, lee el archivo con load(Reader) y un lector UTF-8.
- ¿Sirve para crear el application.properties de Spring Boot?
- Sí. Spring Boot usa nombres de propiedad con puntos, y con el separador por defecto { "server": { "port": 8080 } } queda como server.port=8080.
- ¿Cómo se escriben los arrays de JSON?
- Como un único valor con su texto JSON, por ejemplo hosts=["a","b"]. No se genera la forma indexada de Spring Boot (hosts[0]=a).
- ¿Los booleanos y números conservan su tipo?
- En el archivo no: un valor .properties siempre es una cadena, así que true, false o el número quedan escritos como texto. Properties a JSON los devuelve a tipos JSON reales cuando la inferencia de tipos está activa.
- ¿Qué ocurre con el objeto $comments?
- Cada entrada de $comments —como las que produce Properties a JSON— se escribe como línea # encima de la clave a la que pertenece. Con Comentarios en "Ignorar" obtienes solo líneas clave=valor.
- ¿Sale mi JSON del navegador?
- No. Analizar y formatear ocurre en local; tus datos no viajan en ninguna petición de red.