2017-04-20 58 views
0

JSON數據

"orders":[ 
    "billing_details":{ 
     "company":"Test Company", 
     "firstname":"Munadil", 
     "postcode":"5000", 
     "street":"Dhaka, Bangladesh", 
     "email":"[email protected]", 
     "lastname":"Fahad", 
     "ph_number":"880191111111", 
     "city":"Dhaka", 
     "state":"Mirpur", 
     "country_code":"BN", 
     "user_id":16003511, 
     "salutation":null 
    }] 

在PHP

$json_output = json_decode($response); 
foreach ($json_output->orders as $orders){ 
foreach ($orders->billing_details as $billing_details) {echo "<b>Name:</b><br>".$billing_details->firstname." ".$billing_details->lastname."<br>";} 
} 

但我得到以下錯誤消息,如何在php中回顯json對象屬性?

注意:試圖讓....

非對象的屬性

如何在陣列「訂單」下回顯「billing_details」對象中的數據?

+1

'billing_details'是陣列內的鍵。試試'「命令」:[{...}]' –

+0

你在哪裏聲明瞭變量$ orders? – victor

+3

這是無效的JSON。 – trincot

回答

1

嘗試此

$json_output = json_decode($response['orders']);

echo $json_output;

+0

你如何迴應數組?順便說一句,'$ response'是一個字符串,所以'$ response ['orders']'將失敗。 –

+0

問題解決了。實際上,我發現一些「訂單」數組沒有「billing_details」對象。這是返回錯誤的原因。對於具有「billing_details」對象的「orders」數組發現沒問題。所以,我擺脫瞭如果其他條件顯示錯誤消息。謝謝大家的支持。 –

+0

你的問題解決了。太棒了! –

1

嘗試這種情況:

$json_output = json_decode($response); 

foreach ($json_output['orders'] as $billing_details) { 
echo "<b>Name:</b><br>$billing_details['firstname'] $billing_details['lastname']<br>";} 
+0

告訴我們這將起作用。 – julekgwa

+0

@julekgwa謝謝,我已經更新了答案 – Omi

+0

這不起作用。 – julekgwa