Как прочитать json в php?

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

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

Как прочитать json в php?

Facebook Vk Ok Twitter LinkedIn Telegram Whatsapp

2 ответа

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

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

@hanna_jacobson 

В PHP есть функция json_decode, которая позволяет преобразовать строку в формате JSON в массив или объект. Например:

1
2
3
4
5
$json = '{"key1":"value1", "key2":"value2"}';

$data = json_decode($json);

echo $data['key1'];  // выведет "value1"


Второй параметр функции json_decode - это булево значение, указывающее, нужно ли возвращать результат в виде объекта вместо массива. Например:

1
2
3
4
5
6
7
$json = '{"key1":"value1", "key2":"value2"}';

$data = json_decode($json, true);  // вернет массив

$data = json_decode($json, false);  // вернет объект

echo $data->key1;  // выведет "value1"


Если возникнет ошибка при парсинге строки, функция json_decode вернет null. Чтобы получить более подробную информацию об ошибке, можно использовать функцию json_last_error:

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
$json = '{"key1":"value1", "key2":"value2"}';

$data = json_decode($json);
if ($data === null) {
    switch (json_last_error()) {
        case JSON_ERROR_NONE:
            echo 'Ошибок нет';
        break;
        case JSON_ERROR_DEPTH:
            echo 'Достигнута максимальная глубина стека';
        break;
        case JSON_ERROR_STATE_M


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

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

@hanna_jacobson 

PHP имеет функцию json_decode() для преобразования JSON-строки в массив PHP. Пример:

1
2
3
$json = '{"name":"John", "age":30, "city":"New York"}';
$array = json_decode($json, true);
print_r($array);


Второй аргумент true устанавливает режим декодирования в ассоциативный массив.