【发布时间】:2020-10-23 09:12:58
【问题描述】:
我将以下 json 发送到我的 API 端点
{"key":"levels","value":"[{role_id:1, access_level_id:3}, {role_id:2, access_level_id:1}, {role_id:3, access_level_id:2}]", "描述":""}
在后端,我将其作为 Laravel 请求接收,如下所示:
public function functionName(Request $request){
$req=$request->all();
Log::debug($req['value']);
return;
}
它返回以下预期结果
数组 ( 'key' => '级别', '值' => '[{role_id:1, access_level_id:3}, {role_id:2, access_level_id:1}, {role_id:3, access_level_id:2}]', '描述' => NULL, )
但我还需要将“值”转换为数组。这样我就可以拥有一个多维 PHP 数组。所以我希望得到类似的东西
数组 ( 'key' => '级别', '值' => 数组( 数组('role_id'=>1,'access_level_id'=>3), 数组('role_id'=>2,'access_level_id'=>1), 数组('role_id'=>3,'access_level_id'=>2) ) '描述' => NULL, )
但是在我的 Laravel 方法中,我会执行以下操作:
public function share_doc(Request $request){
$req=$request->all();
Log::debug(json_decode($req['value'],true));
return;
}
试图将作为“值”接收的 json 转换为 PHP 数组,它什么也不返回 - 即没有值,没有数组,没有字符串。什么都没有。
所以,我在这里的困难是如何将作为“值”从请求接收到的整个 json 字符串转换为 PHP 数组,以便我可以使用 PHP 遍历项目
感谢您的帮助
【问题讨论】:
-
为什么没有引用 role_id 和 access_level_id ?
{"key":"levels","value":[{"role_id":1, "access_level_id":3}, {"role_id":2, "access_level_id":1}, {"role_id":3, "access_level_id":2}],"description":""}有效。您对正在创建的 JSON 有任何控制权吗? -
@TorbjörnStabo 非常感谢。 json已修改,问题已解决
标签: php arrays json laravel-7 jsondecoder