Разве плохо хранить JSON на диске? - PullRequest
4 голосов
/ 22 сентября 2009

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

Ответы [ 6 ]

8 голосов
/ 22 сентября 2009

Различия между использованием XML и JSON:

  • Намного проще найти редактор, поддерживающий хороший способ редактирования XML. Я не знаю ни одного редактора, который бы делал это для JSON, но я надеюсь, что они могут быть:)

  • Чрезвычайная переносимость / совместимость - не все может читать JSON изначально, тогда как практически любой язык / среда в наши дни имеют библиотеки XML.

  • JSON занимает меньше места

  • JSON может быть быстрее обрабатывать, ОСОБЕННО в приложении JavaScript, где есть нативные данные.

  • JSON более понятен для программистов (это субъективно, но все, кого я знаю, согласны с этим).

Теперь обратите внимание на общий поток: все преимущества использования чистого XML, перечисленные выше, сразу теряются на 100%, как только вы сохраняете JSON как полезную нагрузку XML .

Таким образом, рекомендации следующие:

  • Если проблема заключается в широкой функциональной совместимости, и вы говорите с чем-то, что не может читать JSON (например, с БД, которая может читать XML изначально), используйте XML.

  • В противном случае, я бы рекомендовал использовать JSON

  • НИКОГДА не используйте JSON в качестве полезной нагрузки XML, если только вы не должны использовать XML в качестве транспортного контейнера из-за требований существующего протокола И стоимость кодирования и декодирования JSON в / из XML почему-то непомерно высока по сравнению с потерями в сети / хранилище из-за двойного кодирования (у меня большие проблемы с воображением правдоподобного сценария, подобного этому, но кто знает ...)

ОБНОВЛЕНО : Удалены маркеры Unicode согласно информации в комментариях

8 голосов
/ 22 сентября 2009

Совсем неплохо. Хотя есть и другие XML-редакторы, поэтому, если вам потребуется вручную редактировать файлы, XML может быть лучше.

3 голосов
/ 22 сентября 2009

Это просто данные, как XML. В этом нет ничего, что могло бы помешать сохранить его на диск.

2 голосов
/ 22 сентября 2009

Если вы храните данные в виде кэша (имеется в виду, что они были в одном формате, и вам пришлось обрабатывать их программно, чтобы «сделать» их JSON. Тогда я не говорю о проблемах. Пока consumer вашего JSON читает нативно) JSON, тогда это стандартная практика сохранения данных кэша на диск или в память.

Однако, если вы храните файл конфигурации в JSON, который нуждается в человеческом взаимодействии для «обработки», тогда я могу пересмотреть. Использовать JSON для простых ключей: пары значений - это круто, но все, кроме этого, формат может быть слишком компактным (то есть вложенные {и [скобки могут быть трудно расшифровать).

2 голосов
/ 22 сентября 2009

Определите «плохо». Они оба просто текстовые форматы. Сбей себя с ног.

1 голос
/ 22 сентября 2009

одна потенциальная проблема с JSON, когда есть глубокая вложенность, это читаемость, вы можете увидеть]]]}], затрудняя отладку

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