Більшість звичайно ні.
CSV - це формат таблиці, який дуже добре відображає набори даних або інші табличні дані. Але не всі дані є табличними! Найчастіше ми хочемо серіалізувати об’єктні графіки . Це може бути важким у таких випадках:
- кругові посилання
- спільні підграграфи (наприклад, два об'єкти, які містять один і той же об’єкт як член)
- об'єкти різних типів, що підлягають серіалізації до одного документа
Крім того, ми хочемо надійно дезарисовувати об'єкти з нашого формату зберігання.
XML
Це насамперед розширювана мова розмітки . Для зберігання загальних структур даних також може бути взуттєвим. Мовна підтримка ідентифікаторів означає, що можна створювати складні графіки, хоча найкраще використовувати для дерев. Документ можна перевірити на правильність щодо специфікації. Існують різні проблеми з цим форматом, які можуть зробити його непрактичним, наприклад, надзвичайна багатослівність.
JSON
Це насамперед спосіб зберігання простих дерев об'єктів . Немає підтримки для загальних графіків. JSON не має поняття типу за межами примітивів string , integer , float , boolean , null та масив та об'єкт типів колекції .
ЯМЛ
Найпростіше розуміти як розширення JSON. Має поняття псевдонімів, які дозволяють створювати об'єктивні графіки довільної складності. Має концепцію метаданих, як теги, які можна використовувати для правильного введення тексту.
CSV
Не має нічого, крім однієї таблиці. Якщо ми хочемо зберігати графіки об'єктів, нам доведеться використовувати подібну схему
#ID,Type,Field1,Field2,...,FieldN
1,String,foo
2,String,bar
3,Array<String>,1,2
Існує багато діалектів CSV, які не погоджуються з роздільниками, строковими термінаторами, цитуванням, символами втечі та багатьма іншими питаннями, які роблять його непридатним для загальних (бінарних) даних. Все це ускладнює обробку даних CSV.
Таким чином, легкі речі важко чи неможливо з CSV при використанні його як загального формату серіалізації.
Ця критика не застосовується при використанні для зберігання справді табличних даних, таких як часові таблиці або ряд вимірювань. Тут CSV (часто у варіанті значень, розділених вкладками) зазвичай більш компактний і простий у використанні, ніж інші формати даних.