为了账号安全,请及时绑定邮箱和手机立即绑定

如何使用 PHP 的 JSON_decode 和 JSON_encode 将字典的值侧嵌套在数组中

如何使用 PHP 的 JSON_decode 和 JSON_encode 将字典的值侧嵌套在数组中

PHP
犯罪嫌疑人X 2023-06-24 15:27:00
在客户端,为了遵守一大堆复杂的遗留代码,我需要 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


查看完整回答
反对 回复 2023-06-24
  • 1 回答
  • 0 关注
  • 97 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信