AZ Tools

Conversor de JSON a esquema Protobuf (proto3)

Desarrollo

Pega cualquier objeto o arreglo JSON y obtén un esquema de Protocol Buffers (proto3) listo para usar, con campos mapeados a tipos escalares de proto (string, int64, double, bool), campos repeated para los arreglos y mensajes separados para los objetos anidados. Las claves que no son lower_snake_case reciben una opción [json_name = "..."] para que el mapeo JSON canónico siga coincidiendo con tu clave original. Todo se ejecuta localmente en tu navegador: tu JSON nunca se sube.

Esquema Protobuf

Cómo usar

  1. Pega o escribe tu JSON en el cuadro de entrada.
  2. Opcionalmente renombra el mensaje raíz (por defecto Message).
  3. Copia el esquema .proto generado del cuadro de salida.

Preguntas frecuentes

¿Cómo se tipan los números?
Los números enteros se vuelven int64 y los que tienen punto decimal se vuelven double. Cámbialos a int32, uint32, float, etc. si necesitas otro ancho.
¿Qué pasa con null, arreglos vacíos o anidados?
Se mapean a google.protobuf.Value (y se añade import "google/protobuf/struct.proto"), porque proto3 no tiene null nativo ni permite campos repeated repeated.
¿Por qué algunos campos tienen una opción json_name?
Los nombres de campo proto son lower_snake_case. Cuando el mapeo JSON canónico en camelCase no reproduciría tu clave original, se añade una opción [json_name = "..."] para que el JSON ida y vuelta sea correcto.
¿Se envía mi JSON a algún sitio?
No. La conversión ocurre por completo en tu navegador; no se sube nada.

Herramientas relacionadas