JSON vers schéma Protobuf
Transforme un exemple JSON en une définition de message Protocol Buffers .proto.
JSON vers schéma Protobuf
Collez un exemple JSON et cet outil déduit la structure de vos données et les écrit sous forme de définition de message Protocol Buffers, prête à être insérée dans un fichier .proto. Il est conçu pour le cas courant de convertir une réponse d'API, un objet de configuration ou un enregistrement de journal en un schéma de démarrage, sans avoir à taper les numéros et types de champs à la main.
Choisissez la syntaxe proto3 ou proto2, nommez le message racine et ajoutez une déclaration de package si votre projet l'utilise. Les numéros de champs commencent à 1 par défaut et s'incrémentent de 1 par champ, tous deux configurables pour un schéma de numérotation réservé. Les tableaux deviennent des champs repeated, et un objet dont les valeurs sont toutes du même type — une recherche indexée par identifiant ou code de langue — devient map<string, T> au lieu d'un message fixe, évitant qu'un champ de dictionnaire ne devienne des dizaines de champs nommés. Activez le mot-clé optional pour marquer les champs manquants ou null dans une partie de votre exemple, et basculez les messages imbriqués pour garder les types enfants à l'intérieur de leur parent plutôt que comme frères et sœurs de haut niveau. Les chaînes au format ISO 8601 sont mappées à google.protobuf.Timestamp, et chaque champ peut porter un commentaire avec sa clé JSON d'origine.
Les objets profondément imbriqués, les tableaux d'objets, les tableaux de tableaux et les champs de type mixte sont tous traités : une valeur véritablement mixte revient à google.protobuf.Value avec l'importation correspondante ajoutée automatiquement. Le JSON malformé est signalé avec la ligne et la colonne où l'analyse a échoué, plutôt qu'une erreur générique.
Tout s'exécute localement dans votre navigateur — votre JSON n'est jamais téléchargé nulle part. Copiez le schéma généré, téléchargez-le en tant que fichier .txt à renommer en .proto, ou envoyez la sortie à un autre outil pour continuer à travailler.