在客户端,为了遵守一大堆复杂的遗留代码,我需要 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 关注
- 97 浏览
添加回答
举报
0/150
提交
取消