在php脚本中传递的JSON对象
问题描述:
我有一个PHP脚本,并且有一些值的JSON对象正在PHP get函数中传递。我尝试过不同的方式来解码JSON,但失败了。 我已经尝试的代码是:在php脚本中传递的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" : "[email protected]",
"Address" : "al nouf tower"
},
"status" : "pending",
"totalPrice" : 51
}
有人可以帮我把它以正确的方式进行解码? 在此先感谢!
答
您正在将true
作为第二个参数传递给json_decode
,它将返回数组而不是对象。试着用 -
$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'});
var_dump($ order_json)没有给出任何索引时的输出是什么? – IshaS
你得到的错误是什么echo $ order_json - > {'mealsInfo'}; – IshaS