буферы протокола Google против json против XML

186

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

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

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

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

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

  • 9
    И вы думаете, что здесь может быть консенсус?
  • 0
    JSON против XML: stackoverflow.com/questions/4862310/json-and-xml-comparison
Показать ещё 6 комментариев
Теги:
protocol-buffers
data-serialization

1 ответ

215
Лучший ответ

Json

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

XML

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

Protobuf

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

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

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

  • 6
    XML - это больше работы для декодирования, но валидация может быть основным преимуществом перед JSON. Проверка вашего XML с помощью схемы перед обработкой платежной транзакции, которую он содержит, дает вам дополнительный уровень надежности.
  • 0
    Так сложно ли добиться сравнительно высокой производительности от JSON до Protobuf?
Показать ещё 6 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню