2010-04-07 5 views
4

У меня есть массив объектов JSON выглядеть примерно так:Как декодировать массив JSON объектов

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

Каков наилучший способ превратить это в массив PHP?

json_decode не обрабатывает часть массива и возвращает NULL для этой строки.

+0

отлично работают для меня. Если вы используете json_decode ($ arr, true), вы получите ассоциативный массив. В противном случае вы получите массив объектов. Возможно, это проблема, с которой вы сталкиваетесь? –

ответ

19

json_decode() делает это так. Вторые пары получаются результат в массив,:

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

Когда второй параметр «истина», «возвращенные объекты будут преобразованы в ассоциативные массивы» – thetaiko

+0

Моя версия (PHP 5.2.9, json 1.2.1) также корректно анализирует строку json в массиве. – webbiedave

+0

Да, я плохой. Код для очистки json от страницы был испорчен. Благодарю. –

Смежные вопросы