JSON

Что такое JSON и с чем его едят

Опубликовано: 11.12.2014 14:02
Просмотров: 10495

JSON - языконезависимый формат, который в наше время должен знать каждый! JSON удобно и быстро передаст данные к серверу и обратно

Введение в JSON

JSON (JavaScript Object Notation) - текстовый формат для передачи данных. Он был основан на JavaScript и обычно с ним и применяется. Этот формат довольно легко читается людьми, знакомыми с синтаксисом. Многие языки программирования имеют готовые функции для работы с форматом JSON.

JSON или XML?

Каждый из этих форматов имеет свои достоинства и недостатки. Рассмотрим преимущества каждого формата:

JSON:

XML:

Синтаксис JSON

Массивы

Массив - это множество упорядоченных значений. В JSON массив заключает в квадратные скобки:

[значение_1, значение_2, ... , значение_N]

Объекты

Объект - это множество неупорядоченных значений в формате ключ:значение. В JSON массив заключает в фигурные скобки:

{имя_1:значение_1, имя_2:значение_2, ... , имя_N:значение_N}

Объекты могут вкладываться друг в друга:

1
2
3
4
{
    имя_1:значение_1, 
    имя_2:{имя_2_1:значение_2_1,имя_2_2:значение_2_2}
}

Литералы

Литералами в JSON называют сами данные, которые содержаться в массивах и объектах. Это:

Например:

{имя_1:"это строка символов", имя_2:10, имя_3:false, имя_4:true, имя_5:null}

Сравнение файлов XML и JSON

Теперь, когда мы рассмотрели синтаксис JSON, сравним два файла, хранящие информацию о товаре в магазине.

Код JSON:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
{
    shop:[
    {
        name:"Хлеб белый",
        cost:30,
        quantity:20
    },
    {
        name:"Хлеб черный",
        cost:32,
        quantity:10
    },
    {
        name:"Хлеб черный в нарезку",
        cost:35,
        quantity:25
    }]
}

Код XML:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
<?xml version="1.0" encoding="UTF-8" ?>
<bookstore>
<book id='1'>
    <name>Хлеб белый</title>
    <cost>50</cost>
    <quantity>20</quantity>
</book>
<book id='2'>
    <name>Хлеб черный</title>
    <cost>32</cost>
    <quantity>10</quantity>
</book>
<book id='3'>
    <name>Хлеб черный в нарезку</title>
    <cost>35</cost>
    <quantity>25</quantity>
</book>
</bookstore>

Лично мне приятней смотреть на файл с форматом JSON. К тому же файл JSON позволяет уместить ту же информацию что и XML, но в более компактной форме, что положительно скажется на скорости загрузки данных. Формат JSON часто используют при передаче данных при помощи ajax.