AZ Tools

Conversor de JSON para esquema Protobuf (proto3)

Desenvolvimento

Cole qualquer objeto ou array JSON e obtenha um esquema Protocol Buffers (proto3) pronto para uso, com campos mapeados para tipos escalares do proto (string, int64, double, bool), campos repeated para os arrays e mensagens separadas para objetos aninhados. Chaves que não são lower_snake_case recebem uma opção [json_name = "..."] para que o mapeamento JSON canônico continue correspondendo à sua chave original. Tudo roda localmente no seu navegador — seu JSON nunca é enviado.

Esquema Protobuf

Como usar

  1. Cole ou digite seu JSON na caixa de entrada.
  2. Opcionalmente renomeie a mensagem raiz (padrão Message).
  3. Copie o esquema .proto gerado da caixa de saída.

Perguntas frequentes

Como os números são tipados?
Números inteiros viram int64 e números com ponto decimal viram double. Altere para int32, uint32, float etc. se precisar de outra largura.
O que acontece com null, arrays vazios ou aninhados?
Eles são mapeados para google.protobuf.Value (e import "google/protobuf/struct.proto" é adicionado), porque o proto3 não tem null nativo nem permite campos repeated repeated.
Por que alguns campos têm uma opção json_name?
Nomes de campo proto são lower_snake_case. Quando o mapeamento JSON canônico em camelCase não reproduziria sua chave original, uma opção [json_name = "..."] é adicionada para que o JSON faça ida e volta corretamente.
Meu JSON é enviado para algum lugar?
Não. A conversão ocorre inteiramente no seu navegador; nada é enviado.

Ferramentas relacionadas