在客戶端,為了遵守一大堆復雜的遺留代碼,我需要 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));如何將字典放在方括號內的值側,例如[{}]?
1 回答

偶然的你
TA貢獻1841條經驗 獲得超3個贊
只需將$rand變量包裝在括號內即可[]。很想知道這里的目的是什么array_rand()?
<?php
$str = '[{"title":"War and Peace","author":"Leo Tolstoy"}]';
$array = json_decode($str, true);
$rand = $array[array_rand($array)];
echo json_encode(array('book'=>[$rand]));
?>
演示: https: //3v4l.org/dZJRn
- 1 回答
- 0 關注
- 136 瀏覽
添加回答
舉報
0/150
提交
取消