Эффективность данных - возврат в JSON или XML? - PullRequest
4 голосов
/ 19 октября 2011

У меня довольно большой набор данных, возвращаемых через AJAX со страницы.Это может быть что угодно до 0-20 тысяч записей одновременно, каждая из которых содержит около 10 фрагментов данных.Теперь, в данный момент, данные возвращаются в структурированном XML, и javascript справляется с этим (для записи, я сейчас использую jQuery).

Когда возвращается XML, jQuery проходит по циклувсе узлы называются address (используя функцию .find()).Затем он сортирует данные соответственно и может занять любое количество времени.Однако кажется, что код не так эффективен, как может быть, и у меня нет особого опыта работы с большими данными.Я предполагаю, что преимущество данных в XML заключается в том, что мы можем легко интегрировать их в другие вещи, например, веб-сервисы и т. Д., Но эффективность была бы намного лучше, поскольку мы не хотим оставлять пользователя «зависшим».Поэтому я уверен, что другие люди, возможно, спрашивали об этом раньше, но что более эффективно - XML ​​или JSON?

Кроме того, какой из них более полезен, или они оба одинаковые?

Извинитеесли это глупый вопрос, то я впервые использую JSON!

Ответы [ 2 ]

7 голосов
/ 19 октября 2011

JSON - это нотация для сериализации объектов. Это его цель и цель. XML предназначен для определения языков разметки, но мне не нравится, если люди используют этот факт, как будто его нельзя использовать для данных. Я считаю, что XML очень подходит для представления множества структур данных. Тем не менее, XML является довольно универсальным, и это приводит к некоторым накладным расходам с точки зрения спецификации, обозначения и размера инструмента.

Прежде всего, выясните, что именно вам нужно. Нужно ли передавать данные в более общем смысле или достаточно обойти объекты? Будут ли вам нужны такие вещи, как пространства имен? Выберите технологию, которая делает то, что вам нужно, но не более того. Но помните о будущем расширении.

Во-вторых, рассмотрим инструменты. XML имеет отличную поддержку практически на любом языке. Существуют методы представления в памяти (DOM), привязки объектов (JAXB в Java), синтаксического анализа (SAX) ... Имеет ли JSON такую ​​же поддержку в вашей целевой среде? С другой стороны, JSON чрезвычайно удобен на стороне клиента в сочетании с JavaScript.

Я полагаю, что вы сможете делать то, что вам нужно, независимо от выбора технологии, и в каждом варианте есть место для оптимизации. Но есть еще одна заключительная вещь: возможно, вам не нужно выбирать. Иногда бывает очень просто разрешить сериализацию данных в формате JSON или XML. Будучи программистом на Java, это единственный пример, который я могу придумать, но в JAX-WS есть методы для получения данных от веб-сервисов в виде XML, JSON или, возможно, даже других форматов с минимальной адаптацией кода.

2 голосов
/ 19 октября 2011

Мое личное мнение:

Я не очень люблю XML.Но это зависит от глубины ваших передаваемых объектов.Если вам не нужна куча атрибутов и тегов для представления ваших данных, XML, безусловно, не лучший выбор.( Примеры и многое другое ).Когда я свободен в определении собственной структуры данных и иерархии, JSON - гораздо более быстрый путь.Кроме того, его синтаксис не такой тяжелый, как у xml, поэтому вы можете сэкономить несколько битов или даже байтов за передачу.

Для меня есть только одна причина использовать XML в современных приложениях: удобство!Когда вы подаете заявку на открытие стандартов (например, используя REST с ATOM Frontend ).Вы видите преимущества в сотрудничестве с другими разработчиками быстро.

В конце концов, вам решать, как будут выглядеть ваши данные, а затем выбирать лучшее представление.

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