2017-04-14 130 views
-1

JSON代碼 -如何在PHP解析JSON對象

"days": [ 
     { 
      "day-code": "SUN", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "MON", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "TUE", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "WED", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "THU", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "FRI", 
      "runs": "Y" 
     }, 
     { 
      "day-code": "SAT", 
      "runs": "Y" 
     } 
    ] 

通過使用下面的代碼從PHP檢索 「天碼」 -

days[0]['day-code']; 

OR

days[0][0]; 

php error -

Fatal error: Uncaught Error: Cannot use object of type stdClass as array

任何人都可以幫助我解決這個問題。

+0

試'json_decode()' – Afsar

+0

請參考https://www.w3schools.com/js/js_json_php.asp –

+0

我已經解析了它之後,我用於回顧對象。我也使用(天[0] - >日代碼),但沒有這個工程。我認爲問題出現在日代碼之間的( - )中。 – user7865403

回答

-1

1. json_decode()所需要的參數true

2.然後就可以像$json_array['days'][0]['day-code'];

工作例如: - https://eval.in/776344

你可以申請foreach()也(在工作示例打印所有值一個接一個)

注意: -

您顯示的json數據無效(check here)。它錯過了開始{和關閉}

參考: - http://php.net/manual/en/function.json-decode.php

+2

呃,你爲什麼重新打開這個問題? http://stackoverflow.com/q/29308898/218196是這類問題的標準參考。 –

+0

它真的幫助我。非常感謝:) – user7865403

+0

@ user7865403很高興爲您效勞。歡迎。 –

0

按照該documentation,你需要指定,如果你想要一個關聯數組,而不是從json_decode的對象,這將是代碼

json_decode($jsondata, true); 
+6

它寧可只是一個評論 –

0

首先你需要了解數組和對象stdClass已經檢查這一點,你可以使用var_dump($var)

數據包含所有數字索引。可以通過0,1,2

訪問它和陣列的單個元件是一個對象,以便可以通過沿箭頭訪問它( - >)

所以它會像

$days[0]->day-code;