JSON в схему Protobuf
Преобразуйте образец JSON в определение сообщения Protocol Buffers .proto.
JSON в схему Protobuf
Вставьте образец JSON, и этот инструмент определит форму ваших данных и выведет её как определение сообщения Protocol Buffers, готовое к добавлению в файл .proto. Он создан для повседневного случая преобразования ответа API, объекта конфигурации или записи журнала в стартовую схему вместо ручного ввода номеров и типов полей.
Выберите синтаксис proto3 или proto2, назовите корневое сообщение и добавьте объявление пакета, если ваш проект его использует. Номера полей начинаются с 1 по умолчанию и увеличиваются на 1 для каждого поля, оба значения настраиваются для заранее зарезервированной схемы нумерации. Массивы становятся повторяющимися полями, а объект со всеми значениями одного типа — поиск по идентификатору или коду языка — становится map<string, T> вместо фиксированного сообщения, поэтому поле словаря не превращается в десятки именованных полей. Включите ключевое слово optional, чтобы отметить поля, отсутствующие или равные null в части вашего образца, и переключайте вложенные сообщения, чтобы сохранить дочерние типы внутри их родителя, а не как плоские одноуровневые соседи. Строки дат в формате ISO 8601 преобразуются в google.protobuf.Timestamp, и каждое поле может содержать комментарий с его исходным ключом JSON.
Глубоко вложенные объекты, массивы объектов, массивы массивов и поля смешанного типа — всё обрабатывается: истинно смешанное значение отступает к google.protobuf.Value с соответствующим импортом, добавленным автоматически. Некорректный JSON сообщается с указанием строки и столбца, где произошел сбой при анализе, а не с общей ошибкой.
Всё работает локально в вашем браузере — ваш JSON никогда не загружается никуда. Скопируйте сгенерированную схему, загрузите её как файл .txt для переименования в .proto или отправьте результат другому инструменту, чтобы продолжить работу.