Функция json_decode

Функция json_decode преобразует строку в формате JSON в переменные PHP. Первым параметром функция принимает JSON строку, вторым - флаг преобразования (необязательный), а третьим - глубину рекурсии (необязательный). По умолчанию функция возвращает ассоциативные массивы.

Синтаксис

phpjson_decode(string, [assoc = false], [depth = 512], [flags = 0]);

Пример

Преобразуем простую JSON строку в объект PHP:

php<?php
  $json = '{"a":1,"b":2,"c":3}';
  $res = json_decode($json);
  print_r($res);
?>

Результат выполнения кода:

phpstdClass Object
(
  [a] => 1
  [b] => 2
  [c] => 3
)

Пример

Преобразуем JSON строку в ассоциативный массив:

php<?php
  $json = '{"a":1,"b":2,"c":3}';
  $res = json_decode($json, true);
  print_r($res);
?>

Результат выполнения кода:

php[
  'a' => 1,
  'b' => 2,
  'c' => 3,
]

Пример

Обработка некорректного JSON:

php<?php
  $json = '{"a":1,"b":2,"c":3';
  $res = json_decode($json);
  var_dump($res);
?>

Результат выполнения кода:

phpNULL

Смотрите также

  • функцию json_encode,
    которая преобразует данные PHP в JSON
  • функцию serialize,
    которая преобразует данные PHP в строку