2012-03-29 133 views
0

我想這個字符串轉換:對象數組作爲字符串到對象數組(jSON)?

$json = '[{"a":1,"b":2,"c":3,"d":4,"e":5}, {"a":6,"b":7,"c":8,"d":9,"e":10}]'; 

爲對象的數組。我試過了:

$test = json_decode($json, true); 
echo sizeof($test); //traces 2 ! 
echo $test[0]["a"]; //doesn't echo anything! 

我如何在PHP中將json字符串轉換爲對象數組?

+0

假設json被解析成一個對象數組,試試'$ test [0] - > a' – 2012-03-29 17:38:04

+0

謝謝,你應該做出了一個「真實」的答案;) – Eric 2012-03-29 17:39:26

+0

好吧,我發佈它作爲答案:) – 2012-03-29 17:40:11

回答

2

假設JSON解析爲對象的數組,嘗試

$test[0]->a 

您可以

print_r($test) 

這將輸出很容易地看到這

Array 
(
    [0] => Array 
     (
      [a] => 1 
      [b] => 2 
      [c] => 3 
      [d] => 4 
      [e] => 5 
     ) 

    [1] => Array 
     (
      [a] => 6 
      [b] => 7 
      [c] => 8 
      [d] => 9 
      [e] => 10 
     ) 

) 
+0

OP需要刪除第二個參數,以便他的代碼是:'$ test = json_decode($ json);' – webbiedave 2012-03-29 17:52:44

+0

爲了澄清,如果上述輸出是OP的輸出,那麼通過'$ test [0] ['a']'訪問元素應該工作。但是,如果第二個維度是根據輸出的'stdClass Object's而不是'Array',那麼通過'$ test [0] - > a'訪問元素就可以工作。 – Josh 2012-03-29 17:53:35

+0

我測試了他的json_decode,輸出是我的。第二層是對象,而不是數組。 – 2012-03-29 18:02:32

1

json_decode返回object。將對象轉換爲數組:

$test = (array)json_decode($json, true);