На стороне клиента, чтобы соответствовать целому ряду сложного устаревшего кода, мне нужно JSON, чтобы он выглядел так:
A. {"book":[{"title":"War and Peace.","author":"Leo Tolstoy"}]}
, где сторона «значения» словаря представляет собой массив, содержащий словарь, например, [{}]
.
Однако при извлечении случайного элемента мой серверный код выводит следующее:
B. {"book":{"title":"War and Peace","author":"Leo Tolstoy"}}
, где сторона «значения» - это просто словарь, например {}
.
Как я могу сгенерировать JSON, чтобы он выглядел как A вместо B?
Вот что в настоящее время происходит на сервере для генерации B: данные фактически сохраняются в JSON как:
$str = '[{"title":"War and Peace","author":"Leo Tolstoy"}]';
The code that outputs a random item is:
$array = json_decode($str, true);
$rand = $array[array_rand($array)];
echo json_encode(array('book'=>$rand));
Как я могу поместить словарь на сторону значения внутри квадратных скобок, например, [{}]
?