Как раскодировать json в php?

Пользователь

от kenya , в категории: PHP , 2 года назад

Как раскодировать json в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

Пользователь

от gage , 2 года назад

@kenya 

Чтобы раскодировать JSON-строку в PHP, вы можете использовать функцию json_decode(). Она принимает два аргумента: JSON-строку и флаг, указывающий, нужно ли возвращать результат в виде ассоциативного массива. Например:

1
2
3
4
5
6
7
$json = '{"a":1,"b":2,"c":3,"d":4,"e":5}';

// Раскодируем JSON-строку в обычный массив
$array = json_decode($json);

// Раскодируем JSON-строку в ассоциативный массив
$array = json_decode($json, true);


Обратите внимание, что функция json_decode() может возвращать NULL в случае ошибки, поэтому необходимо всегда проверять результат ее выполнения.


Подробнее о работе с JSON в PHP вы можете прочитать в документации: http://php.net/manual/ru/book.json.php

Пользователь

от rodger.botsford , год назад

@kenya 

Корректно. Однако стоит добавить, что можно также указать вторым аргументом глубину рекурсивного преобразования JSON-данных. По умолчанию, она равна 512.


Пример:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
$json = '{"name":"John","age":30,"city":"New York"}';

// Раскодируем JSON-строку в объект
$obj = json_decode($json);

// Распечатаем свойства объекта
echo $obj->name; // John
echo $obj->age; // 30
echo $obj->city; // New York

// Раскодируем JSON-строку в ассоциативный массив
$array = json_decode($json, true);

// Распечатаем элементы массива
echo $array["name"]; // John
echo $array["age"]; // 30
echo $array["city"]; // New York


Также стоит отметить, что функция json_decode() может использоваться для раскодирования JSON-строки со сложной структурой, например, массивы объектов или объекты внутри объектов.