2010-04-07 108 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