Подтвердить что ты не робот

YAML против GPB против JSON против XML, который лучше всего подходит для каких обстоятельств?

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

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

Я хотел бы сделать одну общую структуру для сериализации, которая будет использоваться Perl и Java Web Application. Я изучил и получил информацию, но все же хотел бы знать точные различия.

4b9b3361

Ответ 1

Определите "лучше". Если вы хотите, чтобы ваши данные хранились и извлекались, все будет работать. Yaml, json и XML являются удобочитаемыми/редактируемыми; protobuf является более сложным и более простым (меньше циклов процессора) для синтаксического анализа. Json отлично подходит для клиентов JavaScript.

Выберите свой яд. Или выберите несколько: вам разрешено использовать более одного.

Ответ 2

Нет абсолютного лучшего формата, все они могут иметь преимущества в определенных ситуациях. На каком языке вы используете, на разных языках могут быть разные уровни поддержки для разных форматов.

  • Если скорость кодирования/декодирования или пространство критически важны, то протокол-буфер будет хорошим выбором. Но протокольные буферы - это двоичный формат и для его чтения требуется либо редактор специалиста, либо преобразование в/из текстового формата. Другие форматы можно читать с помощью стандартного текстового редактора

  • JSON отлично, если вам нужно читать/писать из JavaScript

  • XML является наиболее широко поддерживаемым (и поддержкой, включенным на многих языках). XML также имеет множество инструментов поддержки, но XML также является наиболее подробным.

  • YAML вполне читабельна и компактнее, чем XML. Он также менее распространен, имеет меньшую поддержку, и вы, как правило, должны включать библиотеку для ее использования.

также см.

Ответ 3

Мое ИМХО:

  • YAML лучше для конфигураций make
 
  • JSON лучше переносит данные между приложениями
 
  • XML лучше сделать структурированные данные в популярном формате, что должно быть не просто читаемым
 
  • Буферы протокола Google являются альтернативой XML, но более компактны и не читаются

Btw, вы можете провести некоторые эксперименты с данными здесь Yaml, Jsom, конвертер Xml онлайн .