在客戶端,為了遵守一大堆復(fù)雜的遺留代碼,我需要 JSON 如下所示:A. {"book":[{"title":"War and Peace.","author":"Leo Tolstoy"}]}其中字典的“值”側(cè)是包含字典的數(shù)組,例如[{}]。但是,當(dāng)檢索隨機(jī)項(xiàng)目時(shí),我的服務(wù)器代碼輸出以下內(nèi)容:B. {"book":{"title":"War and Peace","author":"Leo Tolstoy"}}其中“值”側(cè)只是一個(gè)字典,例如{}。如何生成 JSON,使其看起來像 A 而不是 B?以下是服務(wù)器上當(dāng)前生成 B 時(shí)發(fā)生的情況:數(shù)據(jù)實(shí)際上以 JSON 形式存儲(chǔ)為:$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));如何將字典放在方括號(hào)內(nèi)的值側(cè),例如[{}]?
1 回答

偶然的你
TA貢獻(xiàn)1841條經(jīng)驗(yàn) 獲得超3個(gè)贊
只需將$rand變量包裝在括號(hào)內(nèi)即可[]。很想知道這里的目的是什么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 關(guān)注
- 137 瀏覽
添加回答
舉報(bào)
0/150
提交
取消