如何解码 laravel 中的 json 对象,它在邮递员中作为 form_data 传递

how to decode json object in laravel which is passed as form_data in postman

在第一张图片中,您可以看到我如何在 order_details 参数

中发送 json 对象作为表单数据

在第二张图片中,我在 Laravel 7

中解码时得到了响应

public function makeOrder(Request $request)
{
    $validator = Validator::make($request->all(), [
        'table_id' => 'required',
        'date' => 'required',
        'time_slot' => 'required|string',
        'product_ids' => 'required|array',
        'total_bill' => 'required'
    ]);

    if ($validator->fails()) {
        return response()->json(['error' => $validator->messages()->first(), 'code' => 404], 404);
    }

    return response()->json(['order' => json_decode($request->order_details), 'code' => 200], 200);
}

解码 json 数据时出现错误。

json_decode() expects parameter 1 to be string, array given

json_decode 解码 JSON 字符串,您可能打算使用 json_encode 代替:

return response()->json(['order' => json_encode($request->order_details), 'code' => 200], 200);

请求正文中的订单详情是一个数组,访问第一个索引并return它在响应

return response([
    'order' => json_decode($request->order_details[0]),
    'code' => 200,
]);

这反过来又在邮递员中给出了这个结构,我想这就是你想要的