В чем разница между YAML и JSON? Когда предпочесть одно другому - PullRequest
611 голосов
/ 13 ноября 2009

Когда нам лучше использовать YAML вместо JSON и наоборот, учитывая следующие вещи?

  • Производительность (время кодирования / декодирования)
  • Потребление памяти
  • Четкость выражения
  • Наличие библиотеки, простота использования (я предпочитаю C)

Я планировал использовать один из этих двух в нашей встроенной системе для хранения файлов конфигурации.

Связанный:

Должен ли я использовать YAML или JSON для хранения данных Perl?

Ответы [ 12 ]

0 голосов
/ 27 января 2019
  • JSON не может обрабатывать большие данные.

  • Не подходит для работы с различными мультимедийными форматами.

  • JSON не поддерживает функцию «комментарии». Это может быть включено только в качестве дополнительного атрибута.

  • YAML имеет некоторые преимущества перед JSON, такие как самостоятельная ссылка, поддержка сложных типов данных, встроенные литералы блоков, комментарии и многое другое.

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

Я считаю, что YAML и JSON очень эффективны.Единственные две вещи, которые действительно диктуют, когда одна используется поверх другой для меня, это одна, с которой язык используется наиболее популярно.Например, если я использую Java, Javascript, я буду использовать JSON.Для Java я буду использовать свои собственные объекты, которые в значительной степени являются JSON, но в них отсутствуют некоторые функции, и преобразовать их в JSON, если мне нужно, или сделать это в JSON.Я делаю это, потому что это обычное явление в Java и облегчает другим разработчикам Java модификацию моего кода.Во-вторых, использую ли я это для программы, чтобы запомнить атрибуты, или если программа получает инструкции в виде файла конфигурации, в этом случае я буду использовать YAML, потому что он очень легко читается человеком, имеет хорошийвыглядит синтаксис, и его очень легко изменить, даже если вы не знаете, как работает YAML.Затем программа прочитает его и преобразует в JSON или любой другой формат, предпочтительный для этого языка.

В конце концов, это, честно говоря, не имеет значения.И JSON, и YAML легко читаются любым опытным программистом.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...