2010-04-07 70 views
4

我JSON對象的數組,像這樣:如何解碼JSON對象的數組

[{"a":"b"},{"c":"d"},{"e":"f"}]

是什麼把它變成一個PHP數組的最佳方式?

json_decode不會處理數組組成部分,該字符串返回NULL

+0

工作正常,我。如果你使用json_decode($ arr,true),你會得到一個關聯數組。否則,你會得到一個對象數組。也許這就是你遇到的問題? – 2010-04-07 16:38:17

回答

19

json_decode()這樣工作。第二PARAM匝結果在到一個數組:

var_dump(json_decode('[{"a":"b"},{"c":"d"},{"e":"f"}]', true)); 

// gives 

array(3) { 
    [0]=> 
    array(1) { 
    ["a"]=> 
    string(1) "b" 
    } 
    [1]=> 
    array(1) { 
    ["c"]=> 
    string(1) "d" 
    } 
    [2]=> 
    array(1) { 
    ["e"]=> 
    string(1) "f" 
    } 
} 
+0

當第二個參數爲「true」時,「返回的對象將被轉換爲關聯數組」 – thetaiko 2010-04-07 16:39:45

+0

我的版本(PHP 5.2.9,json 1.2.1)也正確地將json字符串解析爲數組。 – webbiedave 2010-04-07 16:41:23

+0

是的,我的不好。從頁面上刪除json的代碼是有缺陷的。謝謝。 – 2010-04-07 18:08:56