Convierte datos JSON a definiciones de esquema Protocol Buffer, generación instantánea
Conversión de formato
Acerca de esta herramienta
La herramienta JSON a Protobuf convierte datos JSON a definiciones de esquema Protocol Buffer (.proto). Infiere automáticamente los tipos de campo, maneja objetos y arrays anidados, genera sintaxis proto3 válida, todo realizado localmente en el navegador sin necesidad de servidor.
Características principales
- Inferencia automática de tipos de campo desde valores JSON
- Soporte para objetos anidados y campos repeated
- Genera sintaxis proto3 válida con numeración automática de campos
- Nombre de paquete y versión de sintaxis personalizables
- Copia y descarga de la definición de esquema generada con un solo clic
- Conversión de entrada en tiempo real, genera mientras escribe
Casos de uso
- Generar archivos .proto desde API JSON existentes para migración a gRPC
- Prototipar rápidamente esquemas Protocol Buffer desde datos de ejemplo
- Convertir respuestas de API REST a definiciones Protocol Buffer
- Iniciar contratos de comunicación de microservicios desde ejemplos JSON
- Crear esquemas Protobuf para serialización de datos en proyectos multilenguaje
json
protobuf
grpc
schema
protocol-buffers
Preguntas frecuentes
¿Cuál es la diferencia entre proto2 y proto3?
Proto3 es la versión más reciente con una sintaxis más simple: elimina los campos requeridos, los valores predeterminados y el seguimiento de presencia de campos. Proto2 admite modificadores required/optional y valores predeterminados explícitos. Para proyectos nuevos, se recomienda proto3 a menos que necesite verificación de presencia de campos.
¿Cómo maneja la herramienta los objetos JSON anidados?
Los objetos anidados se convierten automáticamente en definiciones de message independientes. Por ejemplo, un objeto JSON con un campo "address" anidado generará un message principal y un message "Address", con el campo haciendo referencia al tipo de message anidado.
¿Cómo se convierten los arrays JSON en el esquema?
Los arrays JSON se convierten en campos repeated de Protobuf. Si el array contiene objetos, el tipo de elemento se infiere del primer elemento. Los arrays de cadenas pueden detectarse como tipo enum si todos los valores son cadenas no vacías distintas.
¿Se pueden personalizar el nombre del paquete y del mensaje?
Sí. Puede establecer un nombre de paquete personalizado en las opciones, que se incluirá en la cabecera de proto3. El nombre del mensaje de nivel superior usa la forma PascalCase del nombre del paquete de forma predeterminada, y los nombres de mensajes anidados se derivan de las claves JSON.
¿Mis datos están seguros al usar esta herramienta?
Completamente seguros. Todas las conversiones se realizan localmente en el navegador. No se suben datos JSON a ningún servidor, garantizando que su información sea completamente privada y segura.