что лучше - xml или json?
храню большие объемы данных в xml файлах. Для обработки используется PHP. Недавно прочитал что JSON гораздо производительнее xml. Хотелось бы узнать мнение профи - что же все-таки производительнее, или может быть вообще есть хорошая альтернатива и тому и другому?
Если ты парсишь данные, чтобы сгенерить контент страницы, то думаю лучше остаться с XML и использовать XSL.
XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.
XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.
Не совсем так. JSON это не программа, а скорее сериализированные структуры данных.
По компактности и удобству JSON бесспорно выигрывает у XML. Однако XML универсален. Что использовать - каждый выбирает сам.
Ссылки по теме:
http://ru.wikipedia.org/wiki/Сериализация
http://ru.wikipedia.org/wiki/JSON
http://ru.wikipedia.org/wiki/Xml
1. Раза в 2 - 3 меньше XML
2. Отсутствует разбор DOM
http://json.org :)
PS Возможно есть реально сложная структура, но она редко передаётся по XHR. Простые структуры (объекты, массивы) нужно передавать именно JSON
Как раз про себя ты это и сказал.
XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.
Намешал в одном предложении технологию хранения данных, технологию передачи данных и язык скриптов. Все эти технологии можно использовать независимо друг от друга.
храню большие объемы данных в xml файлах. Для обработки используется PHP. Недавно прочитал что JSON гораздо производительнее xml.
забиваю в стены большие объемы гвоздей. Для этого исспользую молоток. Недавно узнал, что радиоволны в этом плане куда производительней. ))
Звучит примерно так же. ))
Что я про себя сказал?
Так что не правильно в моих словах?
JSON - это код, переданный, разобранный и исполненный, т.е. средство для передачи данных (и облегчения их разбора клиентской частью), но не для хранения. Хранить в нем данные (а особенно большие объемы и особенно если они будут обрабатываться и серверной стороной) - это, мягко говоря, извращение.
Это скорее всего приведет к тому что рано или позно придется писать тулзу, которая будет переколбашивать все такие данные в новый формат.
Смотри цитату строчкой выше. Имелся ввиду твой ответ.
Так что не правильно в моих словах?
JSON - это код, переданный, разобранный и исполненный, т.е. средство для передачи данных (и облегчения их разбора клиентской частью), но не для хранения. Хранить в нем данные (а особенно большие объемы и особенно если они будут обрабатываться и серверной стороной) - это, мягко говоря, извращение.
Ты написал
JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.
Если ты имеешь ввиду то, что JSON поддается обработке с помощью eval, не делает его, как ты выразился, JavaScript-программой. Библиотеки JSON существуют для многих языков (не только веб). И не только для клиентской части. И для его передачи совсем не обязательно использовать AJAX.
Цитирую с сайта JSON:
JSON (JavaScript Object Notation) is a lightweight data-interchange format.
JSON is a text format that is completely language independent.
Да, синтакс JSON связан с тем, что он основан на JavaScript и в начале разрабатывался для использования только в AJAX. Именно по этому он быстрее обрабатывается на JavaScript без всяких дополнительных средств.
Тем не менее, он вполне подходит и для обычного хранения данных. Насколько он эффективен при большом количестве данных - не знаю, не пробовал. Большое - понятие относительное.
Это скорее всего приведет к тому что рано или позно придется писать тулзу,
Библиотеки уже есть. Написать прогу,
которая будет переколбашивать все такие данные в новый формат.
не проблема.
1. Как сам формат он попроще и попонятней (по крайней мере для меня
и в тех задачах) - просмотривать сырой JSON приятней.
2. Поддержка различными Web2.0 библиотеками (типа ExtJS).
3. Компактный код получается, по сравнению с XML-parsing в случаях многих.
Официальный Java-парсер для серверной части меня совершенно устроил.
Ссылку в студию :) Я не отрицаю, просто интересно... Всю жизнь казалось, что эта нотация появилась раньше JS 1.6...
Я видел цитату, не слепой. Я не понял твоей фразы. Что я про себя сказал? Яснее напиши.
То что я передаю код (не важно какой) в интерпрететор не делает его программой?
AJAX был в качестве примера, т.к. это наиболее частое применение.
По-моему, анализ JSON на серверной стороне - это извращение. Не проще тогда использовать (вместо JS) код, на котором написана серверная сторона? Все будет еще проще и быстрее, чем JSON. (Собсно я так конфигурацию и храню).
BMP вполне подходит для хранения изображений. Но это еще не значит что так нужно и так эффективней.
А не проще с самого начала делать правильно, чтобы не перелапачивать?
Ссылку в студию :) Я не отрицаю, просто интересно... Всю жизнь казалось, что эта нотация появилась раньше JS 1.6...
Честно говоря, я где то прочитал это очень давно. Вполне вероятно, что источник был ненадежный :)
Я имел ввиду
XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.
В том плане, что JSON бывает используется именно для хранения данных.
То что я передаю код (не важно какой) в интерпрететор не делает его программой?
Опять же, я относился к JSON как к структуре хранения данных, а не к тому, что это выглядит как JavaScript код.
AJAX был в качестве примера, т.к. это наиболее частое применение.
По-моему, анализ JSON на серверной стороне - это извращение. Не проще тогда использовать (вместо JS) код, на котором написана серверная сторона? Все будет еще проще и быстрее, чем JSON. (Собсно я так конфигурацию и храню).
BMP вполне подходит для хранения изображений. Но это еще не значит что так нужно и так эффективней.
А не проще с самого начала делать правильно, чтобы не перелапачивать?
Ну извращение, или нет каждый сам решает. Я судить не буду.
Все равно я не понял что я такое про себя сказал, но не важно. Покажу на немного другом примере.
Что производительнее файл XML или код вида:
array(
array(id => 1, name => "Test 1", ...),
array(id => 2, name => "Test 2", ...),
....
);
?>
?
Ответ прост в случае использования сего в PHP. А в случае других языков?
JSON быстрее только когда он используется кодом на JS. В других случаях его бОльшая эффективность под большим вопросом, т.к. добавляется дополнительный анализатор, так же как в случае XML.
Производительней всего пропарсеный XML и записанный в файл кодом на языке, который будет использоваться!
PS Я на дух не переношу конфиги написанный на языке программирования. Для конфигов использую 2 формата:
1. XML
2. ini
PHP конфиги использую только для глобальных констант
PSS Использование JSON для хранения данных я тоже не понимаю...