Оглавление скрыть


Вы можете авторизоваться через ВКонтакте, Фейсбук и оставить комментарий


Массив в JSON (PHP)

Начиная с версии 5.2.0 в PHP появились отличные функции json_encode() и json_decode(). Первая для кодирования массива в JSON-строку, вторая соответственно для раскодирования.

json_encode()

Например нужно массив конвертировать в JSON-строку.

1
2
3
4
5
6
7
8
9
10
11
12
13
<?php

$array 
= array(
    
=> 'Номер один',
    
'two' => 2,
    
'three' => 'Это номер три',
    
=> 4
);

$json json_encode($array);
echo 
$json;

?>

В результате на экране вы увидите:

1{"1":"\u041d\u043e\u043c\u0435\u0440 \u043e\u0434\u0438\u043d","two":2,"three":"\u042d\u0442\u043e \u043d\u043e\u043c\u0435\u0440 \u0442\u0440\u0438","4":4}

Не удивляйтесь записям типа ("1":"\u041d\u043e\u043c\u0435\u0440), текст написанный в юникоде тоже кодируется.

json_decode()

Соответственно может понадобиться раскодировать JSON-строку.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
<?php

// В этом случае json_decode вернет строку в виде объекта stdClass
$object json_decode($json);

echo 
'<pre>'.print_r($objecttrue).'</pre>';

// Мы же знаем что строка была массивом
// Поэтому в качестве второго параметра передаем значение true
// И нам возвращается массив
$array json_decode($jsontrue);

echo 
'<pre>'.print_r($arraytrue).'</pre>';

?>

На экране мы увидим следующее:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
stdClass Object
(
    [1] => Номер один
    [two] => 2
    [three] => Это номер три
    [4] => 4
)

Array
(
    [1] => Номер один
    [two] => 2
    [three] => Это номер три
    [4] => 4
)
Опубликовано: 10 октября 2011  ·  Автор: Артём Фёдоров  ·  5878 просмотров

Категория

ГлавнаяПрограммированиеPHPФайлыМассив в JSON (PHP)

Чтобы оставить комментарий нужно авторизоваться на сайте
или войти через ВКонтакте или Фейсбук

Войти через ФейсбукВойти через Твиттер

Комментарии

Файлы, PHP, Программирование

© 2010-2017 expange.ru
При полном или частичном копировании статей сайта, ссылка на источник обязательна.

Хотите узнать больше информации, пишите на: artem@expange.ru

Полезное онлайн  ·  Новости  ·  Изображения  ·  Статьи по датам

О проекте  ·  Правила пользования  ·  Представительства

Благодарности и пожелания