處理謎題:使用json_decode() 建立數組
遇到錯誤“致命錯誤:無法使用stdClass 類型的物件作為數組” ” 嘗試將JSON 解碼為數組時表示一個常見的誤解。json_decode()預設會建立一個對象,但可以透過將第二個參數指定為 true來取得陣列。方案:
要解決此問題,我們只需提供true 作為json_decode() 的第二個參數,指定我們對關聯數組而不是物件的偏好。一旦有了關聯數組,就可以使用方括號存取其值:
整數鍵數組:$json_string = 'http://www.example.com/jsondata.json'; $jsondata = file_get_contents($json_string); $obj = json_decode($jsondata); print_r($obj['Result']);
但是,如果您喜歡整數鍵而不是屬性名稱,則可以透過利用array_values() 來實現此目的:
物件方法:$result = json_decode($jsondata, true);
如果您希望維護物件結構,您仍然可以使用雙箭頭存取所需的屬性運算子:
以上是如何使用 json_decode() 正確地將 JSON 解碼為陣列?的詳細內容。更多資訊請關注PHP中文網其他相關文章!