Должен ли я использовать from_xml или from_json для импорта объектов? - PullRequest
1 голос
/ 23 августа 2010

В настоящее время у меня есть приложение PHP, которое я собираюсь переписать в Rails.Моя идея состоит в том, чтобы постепенно заменить все функциональные возможности PHP на Rails, поэтому оба должны будут работать бок о бок (я думаю, что эта часть прояснена).

Теперь, на данный момент,У каждого из наших клиентов есть отдельная база данных, и, как оказалось, было бы здорово, если бы мы могли импортировать / экспортировать определенные объекты между нашими клиентами (в основном, настраивать для них некоторые объекты по умолчанию или делиться ими в сообществе).

Итак, я думаю, что это отличная отправная точка для моей интеграции с Rails, тем более что в ней есть такие методы, как from_xml и from_json.Мой вопрос: из этих двух, какой из них, по вашему мнению, будет лучше?Я хотел бы услышать аргументы с точки зрения обратной совместимости, надежности, скорости и т. Д.

Большое спасибо!

1 Ответ

4 голосов
/ 23 августа 2010

Вот некоторые сравнения между XML и JSON .

Что сказали умные люди:

Мои мысли:

  • Обычно JSON меньше, но это зависит от того, насколько хорошо спроектированы структуры JSON и XML (например, человеком или генерацией кода). Насколько важна для вас пропускная способность? Размер имеет меньшее значение, если вы используете сжатие на лету , которым вы должны быть, если пропускная способность имеет значение.
  • XML имеет гораздо больше поддержки проверки (например, DTD, XML Schema, RelaxNG и т. Д.), Хотя JSON наверстывает упущенное. Каковы ваши потребности в проверке данных?
  • Из приведенных выше сравнений видно, что анализ JSON выполняется быстрее, чем анализ XML. Это имеет значение, если у вас большие наборы данных.
  • Гибкость: XML предлагает навороты, такие как внешние сущности и типы идентификаторов, чего нет в JSON. Проигнорируйте это, если вам это не нужно. Может снизить переносимость, поскольку не все анализаторы XML должны поддерживать эти функции.
  • Простота обработки: оба одинаковы. Хотя вы можете анализировать JSON с помощью javascript eval (), это ненадежно и небезопасно. Таким образом, оба формата требуют библиотечного вызова для анализа данных.
  • JSON создан для javascript и подходит как перчатка, особенно для доступа к частям данных. Если важна переносимость на другие языки, удобство JSON уменьшается, хотя для большинства языков сейчас есть интерфейсы JSON. XML более независим от платформы: большинство языков имеют интерфейс DOM для XML или, что лучше, интерфейс XPath (например, jQuery , dojo).
  • Расширяемость (которая, я думаю, соответствует тому, что вы подразумеваете под обратной совместимостью): обе они расширяемы, если разработаны таким образом, например. используя именованные свойства / элементы / атрибуты вместо позиции.
  • Надежность: я не вижу существенной разницы.

Пробираться в эту тему - это все равно, что ходить на цыпочках в минное поле. Я пытался быть честным выше. Раскрытие информации: я склонен быть большим поклонником XML, хотя в определенных обстоятельствах я тоже использую JSON. Определенно есть место для обоих. Приветствуются разные мнения по поводу вышеизложенного ... пожалуйста, поддержите их фактами и без злобы. Я уверен, что многие на SO знают об этой теме больше, чем я.

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