Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

что лучше - xml или json?

1.3K
08 апреля 2008 года
Zephyr
104 / / 03.05.2005
Народ, возник такой вопрос:
храню большие объемы данных в xml файлах. Для обработки используется PHP. Недавно прочитал что JSON гораздо производительнее xml. Хотелось бы узнать мнение профи - что же все-таки производительнее, или может быть вообще есть хорошая альтернатива и тому и другому?
11K
09 апреля 2008 года
Free Thinker
118 / / 16.03.2007
Я немного работал с JSON. Он по идее быстрее обрабатывается JavaScript обычной eval.
Если ты парсишь данные, чтобы сгенерить контент страницы, то думаю лучше остаться с XML и использовать XSL.
1.3K
09 апреля 2008 года
Zephyr
104 / / 03.05.2005
Нет, не для того чтобы контент сгенерить - там в основном настроечные данные, но их много.
353
09 апреля 2008 года
Nixus
840 / / 04.01.2007
Что производительнее MySQL или PHP?
XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.
13
09 апреля 2008 года
RussianSpy
3.0K / / 04.07.2006
Цитата: Nixus
Что производительнее MySQL или PHP?
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

15
09 апреля 2008 года
shaelf
2.7K / / 04.05.2005
JSON - JavaScript Object Notation - альтернативный способ описание массивов и объектов в JavaScript. Для XHR приимущественно должен использоваться он, т.к.
1. Раза в 2 - 3 меньше XML
2. Отсутствует разбор DOM

http://json.org :)

PS Возможно есть реально сложная структура, но она редко передаётся по XHR. Простые структуры (объекты, массивы) нужно передавать именно JSON
11K
09 апреля 2008 года
Free Thinker
118 / / 16.03.2007
Цитата: Nixus
Что производительнее MySQL или PHP?


Как раз про себя ты это и сказал.

Цитата: Nixus

XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.


Намешал в одном предложении технологию хранения данных, технологию передачи данных и язык скриптов. Все эти технологии можно использовать независимо друг от друга.

240
09 апреля 2008 года
aks
2.5K / / 14.07.2006
Цитата: Zephyr
Народ, возник такой вопрос:
храню большие объемы данных в xml файлах. Для обработки используется PHP. Недавно прочитал что JSON гораздо производительнее xml.


забиваю в стены большие объемы гвоздей. Для этого исспользую молоток. Недавно узнал, что радиоволны в этом плане куда производительней. ))

Звучит примерно так же. ))

353
09 апреля 2008 года
Nixus
840 / / 04.01.2007
Цитата: Free Thinker
Как раз про себя ты это и сказал.


Что я про себя сказал?

Цитата: Free Thinker
Намешал в одном предложении технологию хранения данных, технологию передачи данных и язык скриптов. Все эти технологии можно использовать независимо друг от друга.


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

276
09 апреля 2008 года
Rebbit
1.1K / / 01.08.2005
Сори что лезу неграмотный и про JSON без понятия, но судя со слов
Хранить в нем данные (а особенно большие объемы и особенно если они будут обрабатываться и серверной стороной) - это, мягко говоря, извращение.


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

11K
09 апреля 2008 года
Free Thinker
118 / / 16.03.2007
Цитата: Nixus
Что я про себя сказал?


Смотри цитату строчкой выше. Имелся ввиду твой ответ.

Цитата: Nixus

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



Ты написал

Цитата: Nixus

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 без всяких дополнительных средств.
Тем не менее, он вполне подходит и для обычного хранения данных. Насколько он эффективен при большом количестве данных - не знаю, не пробовал. Большое - понятие относительное.

Цитата: Rebbit

Это скорее всего приведет к тому что рано или позно придется писать тулзу,


Библиотеки уже есть. Написать прогу,

Цитата: Rebbit

которая будет переколбашивать все такие данные в новый формат.


не проблема.

63
09 апреля 2008 года
Zorkus
2.6K / / 04.11.2006
Я использовал JSON по 3 причинам.

1. Как сам формат он попроще и попонятней (по крайней мере для меня
и в тех задачах) - просмотривать сырой JSON приятней.
2. Поддержка различными Web2.0 библиотеками (типа ExtJS).
3. Компактный код получается, по сравнению с XML-parsing в случаях многих.

Официальный Java-парсер для серверной части меня совершенно устроил.
15
09 апреля 2008 года
shaelf
2.7K / / 04.05.2005
>>и в начале разрабатывался для использования только в AJAX
Ссылку в студию :) Я не отрицаю, просто интересно... Всю жизнь казалось, что эта нотация появилась раньше JS 1.6...
353
09 апреля 2008 года
Nixus
840 / / 04.01.2007
Цитата: Free Thinker
Смотри цитату строчкой выше. Имелся ввиду твой ответ.


Я видел цитату, не слепой. Я не понял твоей фразы. Что я про себя сказал? Яснее напиши.

Цитата: Free Thinker
Если ты имеешь ввиду то, что JSON поддается обработке с помощью eval, не делает его, как ты выразился, JavaScript-программой.


То что я передаю код (не важно какой) в интерпрететор не делает его программой?

Цитата: Free Thinker
Библиотеки JSON существуют для многих языков (не только веб). И не только для клиентской части. И для его передачи совсем не обязательно использовать AJAX.


AJAX был в качестве примера, т.к. это наиболее частое применение.
По-моему, анализ JSON на серверной стороне - это извращение. Не проще тогда использовать (вместо JS) код, на котором написана серверная сторона? Все будет еще проще и быстрее, чем JSON. (Собсно я так конфигурацию и храню).

Цитата: Free Thinker
Тем не менее, он вполне подходит и для обычного хранения данных.


BMP вполне подходит для хранения изображений. Но это еще не значит что так нужно и так эффективней.

Цитата: Free Thinker
не проблема.


А не проще с самого начала делать правильно, чтобы не перелапачивать?

11K
09 апреля 2008 года
Free Thinker
118 / / 16.03.2007
Цитата: shaelf
>>и в начале разрабатывался для использования только в AJAX
Ссылку в студию :) Я не отрицаю, просто интересно... Всю жизнь казалось, что эта нотация появилась раньше JS 1.6...



Честно говоря, я где то прочитал это очень давно. Вполне вероятно, что источник был ненадежный :)

11K
09 апреля 2008 года
Free Thinker
118 / / 16.03.2007
Цитата: Nixus
Я видел цитату, не слепой. Я не понял твоей фразы. Что я про себя сказал? Яснее напиши.


Я имел ввиду

Цитата: Nixus
Что производительнее MySQL или PHP?
XML - это формат хранения структурированной информации. JSON - это JavaScript-программа, полученная посредством XMLHttpRequest.


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

Цитата: Nixus

То что я передаю код (не важно какой) в интерпрететор не делает его программой?


Опять же, я относился к JSON как к структуре хранения данных, а не к тому, что это выглядит как JavaScript код.

Цитата: Nixus

AJAX был в качестве примера, т.к. это наиболее частое применение.
По-моему, анализ JSON на серверной стороне - это извращение. Не проще тогда использовать (вместо JS) код, на котором написана серверная сторона? Все будет еще проще и быстрее, чем JSON. (Собсно я так конфигурацию и храню).

BMP вполне подходит для хранения изображений. Но это еще не значит что так нужно и так эффективней.

А не проще с самого начала делать правильно, чтобы не перелапачивать?


Ну извращение, или нет каждый сам решает. Я судить не буду.

353
09 апреля 2008 года
Nixus
840 / / 04.01.2007
Цитата: Free Thinker
В том плане, что JSON бывает используется именно для хранения данных.


Все равно я не понял что я такое про себя сказал, но не важно. Покажу на немного другом примере.
Что производительнее файл XML или код вида:

 
Код:
<?php
array(
    array(id => 1, name => "Test 1", ...),
    array(id => 2, name => "Test 2", ...),
    ....
);
?>

?
Ответ прост в случае использования сего в PHP. А в случае других языков?
JSON быстрее только когда он используется кодом на JS. В других случаях его бОльшая эффективность под большим вопросом, т.к. добавляется дополнительный анализатор, так же как в случае XML.
15
10 апреля 2008 года
shaelf
2.7K / / 04.05.2005
>>Что производительнее файл XML или код вида:
Производительней всего пропарсеный XML и записанный в файл кодом на языке, который будет использоваться!
PS Я на дух не переношу конфиги написанный на языке программирования. Для конфигов использую 2 формата:
1. XML
2. ini
PHP конфиги использую только для глобальных констант
PSS Использование JSON для хранения данных я тоже не понимаю...
11K
10 апреля 2008 года
Free Thinker
118 / / 16.03.2007
Nixus, дык я и не спорю :) Просто я хотел сказать, что то, что JSON использует синтаксис JavaScript не делает его используемым только в нем. Я имел ввиду, что JSON тоже можно использовать в качестве структуры хранения данных, как и XML.
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог