Как узнать, как должен быть отформатирован json для protobuff? - PullRequest
1 голос
/ 28 октября 2019

Я новичок в protobuf, и я хотел бы сохранить некоторые protobuf в формате json, и знать, каков полный формат для protobuf. Я попытался просто создать пустой экземпляр protobuf и сохранить его в json, но это только дает мне пустой объект json, {}.

Если я заполняю значение для свойства и сериализую его, я получаю свойство в json, что замечательно, но я не хочу делать это для всех свойств каждого protobufЯ хочу сделать это для.

Могу ли я просмотреть полный формат json для protobuf без указания значения для каждого поля?

Примечания
  • Я использую библиотеку Protobuf от Google на Java и могу сериализовать и десериализовать свои объекты, я просто не уверен, как написать json для конкретного объекта.
  • Я просмотрел этоstackoverflow вопрос для получения информации, но не нашел ничего, что помогло.

1 Ответ

1 голос
/ 28 октября 2019

Да, форматирование JSON для proto3 задокументировано .

В качестве альтернативы, чтобы увидеть пример без изменения значений по умолчанию, вы можете указать includingDefaultValueFields при печати:

String json = JsonFormat.printer().includingDefaultValueFields().print(message);

(По крайней мере, это должно работать для примитивов; я подозреваю, что для вложенных сообщений будет напечатано null, если они не были инициализированы.)

...