Есть некоторый массив, содержащий объекты определенного класса $array. Вопрос, как закодировать этот массив в json формат, если json_encode($array) не работает (получается {[]} в результате)?
Для того, чтобы класс сериализировался в Json он должен реализовывать интерфейс JsonSerializable.
Если в Вашем массиве хранятся объекты определенного класса, думаю не составит труда реализовать этот интерфейс.
class Arr implements JsonSerializable {
public function jsonSerialize(){
return [
'a' => 'b'
];
}
}
$arr = [];
$arr[] = new Arr();
$arr[] = new Arr();
$arr[] = new Arr();
$arr[] = new Arr();
print_r(json_encode($arr));
На выходе мы получим:
[{"a":"b"},{"a":"b"},{"a":"b"},{"a":"b"}]
Апостиль в Лос-Анджелесе без лишних нервов и бумажной волокиты
Основные этапы разработки сайта для стоматологической клиники
Продвижение своими сайтами как стратегия роста и независимости