JSON

Апрель 8, 2009

Работая с  компонентами YUI, я заметил, что они поддерживают работу с различными форматами данных, передаваемых от источников: от массивов, находящихся поблизости в скрипте, до XML и JSON. С XML работал много, благодаря  .NET, с ним вопросов не было, но вот формат JSON был неизвестен для меня. На вид напоминает XML только без обязательных тегов, сравните:

<!-- XML -->
<names>
  <name>Anna Maria</name>
  <name>Fitzwilliam</name>
  <name>Maurice</name>
&lt;/names&gt;</pre>
<pre>/* JSON */
{"names": ["Anna Maria", "Fitzwilliam", "Maurice"]}

Согласитесь, выглядит, компактнее. Итак, зачем же понадобилось придумывать еще один формат, если есть XML? На официальном сайте http://www.json.org/ написано, что JSON является облегченным форматом для обмена данными, таким образом, главное назначение данного формата передать что-то по сети, наверное, даже по интернету, потому как скорость обмена данными, передаваемые между веб-сайтами и веб-приложениями, обычно, является узким местом — тут на счету каждый байт.

Покопав поглубже, обнаружил, что оказывается есть много обсуждений и даже дебатов со сторонниками и противниками JSON против или в пользу XML. Некоторое подытоживание можно найти здесь, самое главное, что можно вынести из всех обсуждений, — это что, нет формата, который на 100% всех бы удовлетворил. С одной стороны JSON очень легкий и хорошо подходит для быстрой передачи данных по сети с одного конца на другой без особых заморочек, с другой стороны JSON не имеет такого количества инструментов, как XML, например XPath, или вот SQL Server поддерживает тип данных XML, по которому можно писать SQL запросы. Так что, если передаваемые данные необходимы для последующего хранения, то, скорее всего, вы предпочтете XML.

Одна фраза зацепила: The good thing about reinventing the wheel is that you can get a round one.

 
Powered by Wordpress and MySQL. Theme by Shlomi Noach, openark.org