Laravel 5: 如何处理 json 请求中的嵌套对象
Laravel 5: How to handle nested objects in json request
我刚开始 Laravel 5。我正在向我的控制器发送 json 请求。它适用于简单的 json。现在我有一个场景 json 会是这样的
{
"orders":[
{
"user_id":"1",
"product_id":"10"
},
{
"user_id":"1",
"product_id":"15"
},
]
}
嵌套对象会变得更加复杂。在我的控制器中,我一直在做的就是
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ordersController extends Controller
{
public function __construct( Request $request)
{
//$this->middleware('products.prodcutsList');
}
public function makeOrder(Request $request)
{
$order_data= $request->only('orders');
print_r($order_data);
}
}
我得到的响应是这样的
Array
(
[orders] =>
)
请指导如何在数组中获取它。
我不确定这是否会解决您的问题,但您的 json 不正确,您必须在最后删除多余的逗号:
{
"orders":[
{
"user_id":"1",
"product_id":"10"
},
{
"user_id":"1",
"product_id":"15"
}, //remove this comma
_________^
]
}
注意:你可以使用下面漂亮的网站来验证你JSON jsonformatter.
希望对您有所帮助。
您将数据作为表单数据发送。使用 php 输入包装器:
$input = file_get_contents('php://input'); // json
print_r(json_decode($input)); // decode to php array
我刚开始 Laravel 5。我正在向我的控制器发送 json 请求。它适用于简单的 json。现在我有一个场景 json 会是这样的
{
"orders":[
{
"user_id":"1",
"product_id":"10"
},
{
"user_id":"1",
"product_id":"15"
},
]
}
嵌套对象会变得更加复杂。在我的控制器中,我一直在做的就是
<?php
namespace App\Http\Controllers;
use Illuminate\Http\Request;
use App\Http\Requests;
use App\Http\Controllers\Controller;
class ordersController extends Controller
{
public function __construct( Request $request)
{
//$this->middleware('products.prodcutsList');
}
public function makeOrder(Request $request)
{
$order_data= $request->only('orders');
print_r($order_data);
}
}
我得到的响应是这样的
Array
(
[orders] =>
)
请指导如何在数组中获取它。
我不确定这是否会解决您的问题,但您的 json 不正确,您必须在最后删除多余的逗号:
{
"orders":[
{
"user_id":"1",
"product_id":"10"
},
{
"user_id":"1",
"product_id":"15"
}, //remove this comma
_________^
]
}
注意:你可以使用下面漂亮的网站来验证你JSON jsonformatter.
希望对您有所帮助。
您将数据作为表单数据发送。使用 php 输入包装器:
$input = file_get_contents('php://input'); // json
print_r(json_decode($input)); // decode to php array