CSV против XML против JSON — какой формат данных ответа является лучшим?

CSV против XML против JSON — какой формат данных ответа является лучшим?

[ad_1]

Независимо от того, создаете ли вы тонкий клиент (веб-приложение) или толстый клиент (клиент-серверное приложение), в какой-то момент вы, вероятно, будете отправлять запросы на веб-сервер и нуждаться в хорошо отформатированном ответе. На сегодняшний день существует три основных формата данных, используемых для передачи данных с веб-сервера клиенту: CSV, XML и JSON. Чтобы создать приложение с надежной архитектурой, рекомендуется понимать различия между каждым форматом и знать, когда их использовать. Цель этого поста — дать определение каждому формату данных, обозначить плюсы и минусы каждого из них и выяснить, в каких ситуациях каждый формат лучше всего подходит.

CSV

CSV расшифровывается как «Значения, разделенные запятыми». Как следует из названия, этот формат данных представляет собой список элементов, разделенных запятыми. Допустим, ваш ответ возвращает список людей в определенной семье. Формат выглядит так:

Эрик, Андреа, Куско

Плюсы – этот формат самый компактный из трех форматов. Вообще говоря, форматы CSV примерно вдвое меньше форматов XML и JSON. Это главное преимущество CSV, поскольку оно может помочь уменьшить пропускную способность.

Минусы. Этот формат является наименее универсальным из трех форматов. Это связано с тем, что для преобразования данных CSV в нативную структуру требуется пользовательский синтаксический анализатор. В результате, если структура данных изменится, вы должны изменить связанные с ней накладные расходы или даже пересмотреть свой синтаксический анализатор. Кроме того, поскольку генератор CSV и анализатор CSV находятся на разных машинах (помните, мы отправляем данные с одной машины на другую), обе программы необходимо обновлять одновременно, чтобы избежать сбоя принимающей программы. В противном случае вам необходимо отключиться, чтобы обновить обе программы по отдельности, чтобы избежать проблем несовместимости.

Наконец, CSV не поддерживает иерархию данных. Что, если вы хотите вернуть атрибуты для каждого семейства? Затем вам нужно будет создать сложный синтаксический анализатор, который знает, какие части CSV относятся к элементам семьи, а какие — к элементам отдельных лиц. Один из способов решить эту проблему — использовать другой разделитель, например «;». Разделение атрибута каждого человека:

Эрик; мужчина 26, Андреа; девушка 26, Куско; мужчина 8

Однако проблема с созданием пользовательских форматов заключается в том, что вам придется поддерживать еще более сложный синтаксический анализатор.

XML

XML означает «расширяемый язык разметки». XML был создан в 1996 году и официально стал стандартом W3C в 1998 году. Он был создан для лучшего представления форматов данных с иерархической структурой. Формат выглядит так:

<person> <name></p> <p>Эрик<br /> </name><br /> <age></p> <p>26<br /> </age> </person> <person> <name></p> <p>Андреа<br /> </name><br /> <age></p> <p>26<br /> </age> </person> <person> <name></p> <p>Куско<br /> </name><br /> <age></p> <p>8<br /> </age> </person>

Плюсы: этот формат данных полностью поддерживает иерархические структуры данных и очень удобен при получении сложных данных в качестве ответа. Это также очень удобочитаемо для человека. В большинстве браузеров есть встроенная программа чтения XML, позволяющая просматривать XML-файлы. Поскольку XML был первым стандартным иерархическим форматом данных, большинство API-интерфейсов разработали функциональные возможности для автоматического преобразования потоков данных XML в естественные структуры данных, такие как объекты.

Недостатки: этот формат данных примерно в три раза больше, чем CSV. Это связано с тем, что каждый элемент данных имеет связанный открытый и закрытый тег параметра.

JSON

JSON расшифровывается как (обозначение объекта Javascript). Он был изобретен в 2001 году и популяризирован Yahoo и Google в 2005 и 2006 годах. Он был создан как альтернатива XML. Подобно XML, он представляет иерархические данные с помощью запятых, фигурных скобок и скобок. Пример JSON выглядит так:

{“имя”:”Эрик”, “возраст”:”26″},

{“имя”:”Андреа”, “возраст”:”26″},

{“имя”:”Куско”, “возраст”:”8″}

Плюсы: этот формат данных поддерживает иерархические данные, но при этом имеет меньший размер, чем XML. Как следует из названия, он также был разработан для упрощения анализа данных в собственные объекты Javascript, что делает его очень полезным для веб-приложений. JSON лучше обоих миров по сравнению с CSV и XML. Он прост и компактен, как CSV, но поддерживает иерархические данные, такие как XML. В отличие от XML, форматы JSON всего в два раза больше форматов CSV.

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

заключение

Как правило, JSON — лучший формат обмена данными на сегодняшний день. Он легкий, компактный и универсальный. CSV следует использовать только в том случае, если вы отправляете большие суммы и если пропускная способность является проблемой. Сегодня XML не следует использовать в качестве формата обмена данными, так как он лучше подходит для разметки документов.

[ad_2]

Facebook Comments

კომენტარის დატოვება

თქვენი ელფოსტის მისამართი გამოქვეყნებული არ იყო. აუცილებელი ველები მონიშნულია *