Кодирование JSON данных

В PHP функция json_encode() используется для кодирования значения в формат JSON.

Кодируемое значение может быть любым типом данных PHP, кроме ресурса, например, базы данных или дескриптора файла. В приведенном ниже примере показано, как кодировать ассоциативный массив PHP в объект JSON:

<?php
// ассоциативный массив
$marks = array("Peter"=>65, "Harry"=>80, "John"=>78, "Clark"=>90);
 
echo json_encode($marks);
?>

Вывод вышеприведенного примера будет выглядеть следующим образом:

{"Peter":65,"Harry":80,"John":78,"Clark":90}

Точно так же вы можете закодировать индексированный массив PHP в массив JSON, например так:

<?php
// индексированный массив
$colors = array("Red", "Green", "Blue", "Orange", "Yellow");
 
echo json_encode($colors);
?>

Вывод вышеприведенного примера будет выглядеть следующим образом:

["Red","Green","Blue","Orange","Yellow"]

Вы также можете заставить функцию json_encode() возвращать индексированный массив PHP как объект JSON, используя опцию JSON_FORCE_OBJECT, как показано в примере ниже:

<?php
// индексированный массив
$colors = array("Red", "Green", "Blue", "Orange");
 
echo json_encode($colors, JSON_FORCE_OBJECT);
?>

Вывод вышеприведенного примера будет выглядеть следующим образом:

{"0":"Red","1":"Green","2":"Blue","3":"Orange"}

Как вы можете видеть в приведенных выше примерах, неассоциативный массив может быть закодирован как массив или объект. Однако ассоциативный массив всегда кодируется как объект.

Была ли эта страница полезной?