2011-04-21 119 views
0

我試圖訪問我使用json_decode(基於URL的結果)創建的JSON對象內的數據。答案是:stdClass對象正斜槓解析JSON?

stdClass Object 
(
    [/guid/9202a8c04000641f8000000016f4c9cd] => stdClass Object 
     (
      [code] => /api/status/ok 
      [result] => stdClass Object 
       (
        [ 

.. 

如何訪問參數「代碼」?

謝謝!

回答

7

你可以使用這個稍微有些古怪的語法:

print $stdclass->{'/guid/9202a8c04000641f8000000016f4c9cd'}->code; 

它是專門用於非ASCII屬性名。 (還有用雙引號的變體,其是用於可變->{"attr_$index"}屬性名稱是有用的。)


另一種選擇是將有json_decode創建關聯數組代替,通過使作爲TRUE第二參數。

+0

作爲一個後續,我可以通過任何方法訪問[/ guid/9202a8c04000641f8000000016f4c9cd](如迭代,獲取stdClass的名稱)。 – Rio 2011-04-22 01:47:38

+0

是的,這是可能的。因爲當你對屬性進行foreach時,你正在用'$ obj - > $ varname'訪問對象。在這種情況下'$ varname'可以是任何東西(不包括\ 0字符)。在對象上傳遞也給你真正的屬性名稱。 – mario 2011-04-22 05:59:02