【问题标题】:Laravel 5: How to handle nested objects in json requestLaravel 5:如何处理 json 请求中的嵌套对象
【发布时间】:2016-04-22 04:09:12
【问题描述】:

我刚开始使用 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] => 
)

请指导我如何在数组中获取它。

【问题讨论】:

    标签: php json laravel laravel-5 httprequest


    【解决方案1】:

    您将数据作为表单数据发送。使用 php 输入包装器:

    $input = file_get_contents('php://input'); // json
    print_r(json_decode($input)); // decode to php array
    

    【讨论】:

      【解决方案2】:

      我不确定这会解决您的问题,但您的 json 不正确,您最后必须删除多余的逗号:

      {
      "orders":[
              {
                "user_id":"1",
                "product_id":"10"
              },
              {
                  "user_id":"1",
                "product_id":"15"
              }, //remove this comma 
      _________^ 
          ]
      }
      

      注意:您可以使用以下漂亮的网站来验证您的 JSON jsonformatter

      希望这会有所帮助。

      【讨论】:

        猜你喜欢
        • 2016-06-03
        • 2018-07-29
        • 2018-11-27
        • 1970-01-01
        • 1970-01-01
        • 2015-09-13
        • 1970-01-01
        • 2013-09-21
        • 1970-01-01
        相关资源
        最近更新 更多