История изменений
Исправление Kroz, (текущая версия) :
TL;DR: Если без дополнительно информации, то рекомендую JSON.
CSV/TSV
Если работаешь с табличными данными, то CSV (а лучше TSV) неплох, но при одном условии: если в значениях нет переводов строк. Если они есть, работа с таким файлом требует специальной магии.
Если данные не табличные, или не совсем табличные, то JSON, либо XML, но в идеале YAML.
XML
XML переусложнён. По сравнению с JSON, его труднее читать человеку, и труднее работать с ним в коде. Последнее в основном из-за того, что без XSD схемы невозможно различить просто простой аттрибут и массив с одним элементом, строку и число; соответственно, нужно спец. функции по проходу по дереву, плюс можно забыть про шаблонизаторы вроде TWIG/Jinja.
Использование XML оправдано разве что когда в данных много мета-информации (XML аттрибуты). Ну, или для любителей XSLT.
JSON
JSON подходит для большиства случаев. Хорошо читается человеком, прекрасно парсится. Много тулов. Если нужна схема - JSON Schema (а еще лучше - YANG). Нужен язык запросов - JSON Query. Diff/Edit - JSON Patch стандартизирован.
Минусы JSON. Эта идиотская запятая, которая нужна всегда кроме последнего аттрибута! Нет комментариев. Аналогов XSLT нет. Мета-информация делается через грязный хак, и выглядит ужасно. Кстати, проблему с комментариями и запятой решили в JSON5, но мало кто про него знает, да и Python либа по работе с ним работает раз в 5 медленней.
YAML
Отличный язык. Самый читабельный из всех. Есть либы для всех языков. Есть хитрые фичи вроде ссылок. Не уверен, есть ли для него схемы, но если очень нужно, уверен, можно JSON Schemа прикрутить. Единственный изъян - нет нативной поддержки метаданных. В остальном - отличный язык.
P. S.
опыт работы парсинга, а точнее анализа с помощью регулярных выражений, формата CSV
Не делай так. Если нужно работать с файлом, ищи спец. библиотеки. Не нужно самому писать парсер.
Исправление Kroz, :
TL;DR: Если без дополнительно информации, то рекомендую JSON.
CSV/TSV
Если работаешь с табличными данными, то CSV (а лучше TSV) неплох, но при одном условии: если в значениях нет переводов строк. Если они есть, работа с таким файлом требует специальной магии.
Если данные не табличные, или не совсем табличные, то JSON, либо XML, но в идеале YAML.
XML
XML переусложнён. По сравнению с JSON, его труднее читать человеку, и труднее работать с ним в коде. Последнее в основном из-за того, что без XSD схемы невозможно различить просто простой аттрибут и массив с одним элементом, строку и число; соответственно, нужно спец. функции по проходу по дереву, плюс можно забыть про шаблонизаторы вроде TWIG/Jinja.
Использование XML оправдано разве что когда в данных много мета-информации (XML аттрибуты). Ну, или для любителей XSLT.
JSON
JSON подходит для большиства случаев. Хорошо читается человеком, прекрасно парсится. Много тулов. Если нужна схема - JSON Schema (а еще лучше - YANG). Нужен язык запросов - JSON Query. Diff/Edit - JSON Patch стандартизирован.
Минусы JSON. Эта идиотская запятая, которая нужна всегда кроме последнего аттрибута! Нет комментариев. Аналогов XSLT нет. Мета-информация делается через грязный хак, и выглядит ужасно. Кстати, проблему с комментариями и запятой решили в JSON5, но мало кто про него знает, да и Python либа по работе с ним работает раз в 5 медленней.
** YAML **
Отличный язык. Самый читабельный из всех. Есть либы для всех языков. Есть хитрые фичи вроде ссылок. Не уверен, есть ли для него схемы, но если очень нужно, уверен, можно JSON Schemа прикрутить. Единственный изъян - нет нативной поддержки метаданных. В остальном - отличный язык.
P. S.
опыт работы парсинга, а точнее анализа с помощью регулярных выражений, формата CSV
Не делай так. Если нужно работать с файлом, ищи спец. библиотеки. Не нужно самому писать парсер.
Исправление Kroz, :
JSON
TL;DR: Если без дополнительно информации, то рекомендую JSON.
CSV/TSV
Если работаешь с табличными данными, то CSV (а лучше TSV) неплох, но при одном условии: если в значениях нет переводов строк. Если они есть, работа с таким файлом требует специальной магии.
Если данные не табличные, или не совсем табличные, то JSON, либо XML, но в идеале YAML.
** XML **
XML переусложнён. По сравнению с JSON, его труднее читать человеку, и труднее работать с ним в коде. Последнее в основном из-за того, что без XSD схемы невозможно различить просто простой аттрибут и массив с одним элементом, строку и число; соответственно, нужно спец. функции по проходу по дереву, плюс можно забыть про шаблонизаторы вроде TWIG/Jinja.
Использование XML оправдано разве что когда в данных много мета-информации (XML аттрибуты). Ну, или для любителей XSLT.
** JSON **
JSON подходит для большиства случаев. Хорошо читается человеком, прекрасно парсится. Много тулов. Если нужна схема - JSON Schema (а еще лучше - YANG). Нужен язык запросов - JSON Query. Diff/Edit - JSON Patch стандартизирован.
Минусы JSON. Эта идиотская запятая, которая нужна всегда кроме последнего аттрибута! Нет комментариев. Аналогов XSLT нет. Мета-информация делается через грязный хак, и выглядит ужасно. Кстати, проблему с комментариями и запятой решили в JSON5, но мало кто про него знает, да и Python либа по работе с ним работает раз в 5 медленней.
** YAML **
Отличный язык. Самый читабельный из всех. Есть либы для всех языков. Есть хитрые фичи вроде ссылок. Не уверен, есть ли для него схемы, но если очень нужно, уверен, можно JSON Schemа прикрутить. Единственный изъян - нет нативной поддержки метаданных. В остальном - отличный язык.
P. S.
опыт работы парсинга, а точнее анализа с помощью регулярных выражений, формата CSV
Не делай так. Если нужно работать с файлом, ищи спец. библиотеки. Не нужно самому писать парсер.
Исходная версия Kroz, :
Без дополнительно информации - JSON.
CSV/TSV
Если работаешь с табличными данными, то CSV (а лучше TSV) неплох, но при одном условии: если в значениях нет переводов строк. Если они есть, работа с таким файлом требует специальной магии.
Если данные не табличные, или не совсем табличные, то JSON, либо XML, но в идеале YAML.
** XML **
XML переусложнён. По сравнению с JSON, его труднее читать человеку, и труднее работать с ним в коде. Последнее в основном из-за того, что без XSD схемы невозможно различить просто простой аттрибут и массив с одним элементом, строку и число; соответственно, нужно спец. функции по проходу по дереву, плюс можно забыть про шаблонизаторы вроде TWIG/Jinja.
Использование XML оправдано разве что когда в данных много мета-информации (XML аттрибуты). Ну, или для любителей XSLT.
** JSON **
JSON подходит для большиства случаев. Хорошо читается человеком, прекрасно парсится. Много тулов. Если нужна схема - JSON Schema (а еще лучше - YANG). Нужен язык запросов - JSON Query. Diff/Edit - JSON Patch стандартизирован.
Минусы JSON. Эта идиотская запятая, которая нужна всегда кроме последнего аттрибута! Нет комментариев. Аналогов XSLT нет. Мета-информация делается через грязный хак, и выглядит ужасно. Кстати, проблему с комментариями и запятой решили в JSON5, но мало кто про него знает, да и Python либа по работе с ним работает раз в 5 медленней.
** YAML **
Отличный язык. Самый читабельный из всех. Есть либы для всех языков. Есть хитрые фичи вроде ссылок. Не уверен, есть ли для него схемы, но если очень нужно, уверен, можно JSON Schemа прикрутить. Единственный изъян - нет нативной поддержки метаданных. В остальном - отличный язык.
P. S.
опыт работы парсинга, а точнее анализа с помощью регулярных выражений, формата CSV
Не делай так. Если нужно работать с файлом, ищи спец. библиотеки. Не нужно самому писать парсер.