Буферы протокола google vs json vs XML

Я хотел бы знать достоинства и недостатки

  • Буферы протокола Google
  • JSON
  • XML

Я хочу реализовать одну общую структуру для двух приложений: одну на Perl и вторую на Java. Таким образом, хотелось бы создать общее обслуживание, которое может использоваться как технологией, то есть Perl и Java.

Оба являются веб-приложениями.

Пожалуйста, поделитесь со мной своими ценными мыслями и предложениями по этому поводу. Я видел много ссылок на google, но у всех есть смешанные мнения.

Ответ 1

Json

  • доступно для чтения/редактирования
  • может быть проанализирован, не зная схему заранее
  • отличная поддержка браузера.
  • менее подробный, чем XML

XML

  • доступно для чтения/редактирования
  • может быть проанализирован, не зная схему заранее
  • для SOAP и т.д.
  • хорошая поддержка инструмента (xsd, xslt, sax, dom и т.д.)
  • довольно многословный

Protobuf

  • очень плотные данные (малый выход)
  • трудно прочно декодировать, не зная схемы (формат данных является внутренне неоднозначным и требует уточнения схемы)
  • очень быстрая обработка
  • не предназначен для глаз человека (плотный двоичный)

У всех есть хорошая поддержка на большинстве платформ.

Лично я редко использую XML в эти дни. Если потребитель является браузером или публичным API, я использую json. Для внутренних API я использую protobuf для производительности. Предлагая как публичный API (либо через заголовки, либо отдельные конечные точки), тоже хорошо работает.