JavaScript Object Notation - Как замена XML

Тема в разделе 'XML', создана пользователем XmP, 15 май 2011.

  1. XmP ADD ebx, 110h

    JSON (***Для просмотра ссылок необходимо войти или зарегистрироваться*** JavaScript Object Notation) — текстовый формат обмена данными, основанный на ***Для просмотра ссылок необходимо войти или зарегистрироваться*** и обычно используемый именно с этим языком. Как и многие другие текстовые форматы, JSON легко читается людьми.
    Несмотря на происхождение от JavaScript (точнее, от подмножества языка стандарта ***Для просмотра ссылок необходимо войти или зарегистрироваться*** ***Для просмотра ссылок необходимо войти или зарегистрироваться***), формат считается языконезависимым и может использоваться практически с любым языком программирования. Для многих языков существует готовый код для создания и обработки данных в формате JSON.

    Использование

    За счёт своей лаконичности по сравнению с ***Для просмотра ссылок необходимо войти или зарегистрироваться***, формат JSON может быть более подходящим для ***Для просмотра ссылок необходимо войти или зарегистрироваться*** сложных структур. Если говорить о веб-приложениях, в таком ключе он уместен в задачах обмена данными как между браузером и сервером (***Для просмотра ссылок необходимо войти или зарегистрироваться***), так и между самими серверами (программные HTTP-интерфейсы). Формат JSON так же хорошо подходит для хранения сложных динамических структур в реляционных базах данных или файловом кэше.
    Так как формат JSON является подмножеством синтаксиса языка JavaScript, то он может быть быстро десериализован встроенной функцией eval(). Кроме того возможна вставка вполне работоспособных JavaScript-функций. В PHP начиная с версии 5.2.0 поддержка JSON включена в ядро в виде функций json_decode() и json_encode(), которые сами преобразуют типы данных JSON в соответствующие типы PHP и наоборот.

    Синтаксис

    JSON строится на двух структурах:
    Это — универсальные структуры данных. Теоретически, все современные языки программирования поддерживают их в той или иной форме. Так как JSON используется для обмена данными между различными языками программирования, то имеет смысл строить его на этих структурах.
    В JSON используются их следующие формы:
    • Объект — это неупорядоченное множество пар ***Для просмотра ссылок необходимо войти или зарегистрироваться***/***Для просмотра ссылок необходимо войти или зарегистрироваться***, заключённое в фигурные скобки { }. Между именем и значением стоит символ «:», а пары имя/значение разделяются запятыми.
    • Массив (одномерный) — это множество значений, имеющих порядковые номера (индексы). Массив заключается в квадратные скобки [ ]. Значения отделяются запятыми.
    • Значение может быть ***Для просмотра ссылок необходимо войти или зарегистрироваться*** в двойных кавычках, ***Для просмотра ссылок необходимо войти или зарегистрироваться***, значением true или false, объектом, массивом, или значением null. Эти структуры могут быть вложены друг в друга.
    • Строка — это упорядоченное множество из нуля или более символов ***Для просмотра ссылок необходимо войти или зарегистрироваться***, заключенное в двойные кавычки, с использованием ***Для просмотра ссылок необходимо войти или зарегистрироваться*** начинающихся с ***Для просмотра ссылок необходимо войти или зарегистрироваться*** (backslash). Символы представляются простой строкой.
    Строка очень похожа на строку в языках ***Для просмотра ссылок необходимо войти или зарегистрироваться*** и ***Для просмотра ссылок необходимо войти или зарегистрироваться***. Числотоже очень похоже на С или Java-число, за исключением того, что используется только десятичный формат. Пробелы могут быть вставлены между любыми двумя символами.
    Следующий пример показывает JSON-представление объекта, описывающего человека. В объекте есть строковые поля имени и фамилии, объект, описывающий адрес, и массив, содержащий список телефонов.
    PHP:

    {
       
    "firstName""Иван",
       
    "lastName""Иванов",
       
    "address": {
           
    "streetAddress""Московское ш., 101, кв.101",
           
    "city""Ленинград",
           
    "postalCode"101101
       
    },
       
    "phoneNumbers": [
           
    "812 123-1234",
           
    "916 123-4567"
       
    ]
    }
    На языке XML подобная структура выглядела бы примерно так:
    PHP:

    <person>
      <
    firstName>Иван</firstName>
      <
    lastName>Иванов</lastName>
      <
    address>
        <
    streetAddress>Московское ш., 101кв.101</streetAddress>
        <
    city>Ленинград</city>
        <
    postalCode>101101</postalCode>
      </
    address>
      <
    phoneNumbers>
        <
    phoneNumber>812 123-1234</phoneNumber>
        <
    phoneNumber>916 123-4567</phoneNumber>
      </
    phoneNumbers>
    </
    person>
    или так:
    PHP:

    <person firstName="Иван" lastName="Иванов">
      <
    address streetAddress="Московское ш., 101, кв.101" city="Ленинград" postalCode="101101" />
      <
    phoneNumbers>
        <
    phoneNumber>812 123-1234</phoneNumber>
        <
    phoneNumber>916 123-4567</phoneNumber>
      </
    phoneNumbers>
    </
    person>
    Более подробная статья: ***Для просмотра ссылок необходимо войти или зарегистрироваться***

Поделиться этой страницей