JSON 对象在 php 脚本中传递

JSON object passed in the php script

我有一个 PHP 脚本,JSON 对象在 PHP get 函数中传递了一些值。我尝试了不同的方法来解码 JSON 但失败了。 我试过的代码是:

$get_order_info = $_GET['orderInfo'];
$order_json = json_decode($get_order_info, true);

echo $order_json->{'mealsInfo'};

JSON 字符串是:

{
  "mealsInfo" : [
    {
      "DrinkSize" : 1,
      "MealQuantity" : 1,
      "MealId" : "57",
      "addons" : [
        {
          "addOnID" : 1,
          "addonTitle" : "spicy"
        },
        {
          "addOnID" : 3,
          "addonTitle" : "Thin Base"
        }
      ],
      "FriesSize" : 2
    }
  ],
  "TransactionID" : "56",
  "OrerType" : "PickUp",
  "frenchiseInfo" : {
    "storeName" : "Dubai Downtown Franchise",
    "OrderCollectionTime" : "06:12:50 PM",
    "FranchiseId" : "4"
  },
  "customerinfo" : {
    "Instructions" : "Test instruction",
    "CustomerName’" : "Talat",
    "Area" : "al Riga",
    "City" : "Dubai",
    "Phone" : "0559467800",
    "Email" : "test@test.com",
    "Address" : "al nouf tower"
  },
  "status" : "pending",
  "totalPrice" : 51
}

有人可以帮我正确解码吗? 提前致谢!

您将 true 作为第二个参数传递给 json_decode,它将 return 并且数组不是对象。试试 -

$order_json = json_decode($get_order_info, true);

echo $order_json['mealsInfo'][0]['DrinkSize'];
$get_order_info = $_POST['orderInfo'];
$order_json = json_decode($get_order_info, true);

echo $order_json->{'mealsInfo'};

试试这个。

$order_json = json_decode($get_order_info, true);

var_dump($order_json->{'mealsInfo'});