2013-08-08 2 views
1

У меня есть JSON-файл, как это:многомерный массив json_decode (первый уровень)

{ 
    "numeric1": { 
     "id": "numeric1", 
     "name": "alphanumeric1", 
     "key": "alphanumeric2", 
     "expire": "alphanumeric3", 
     "status": true, 
     "ads": true 
    }, 

    etc... 
} 

с (и т.д. ...) Я имею в виду, что матрица повторяется несколько раз. я разобрать его с PHP с помощью:

$allowed = json_decode(file_get_contents("allowed.json"), true); 

Тогда я получаю массив как:

Array 
(
    [0] => Array 
     (
      [id] => numeric1 
      [name] => alphanumeric1 
      [key] => alphanumeric2 
      [expire] => alphanumeric3 
      [status] => 1 
      [ads] => 1 
     ) 

    etc.... 
) 

Так я теряю первый уровень ассоциативных ключей, у меня есть

 [0] => Array
вместо
 ["numeric1"] => Array

Как могу ли я сохранить первый уровень моего массива JSON? Благодарю.

+0

Можете ли вы показать второй элемент в вашем примере JSON? Будет ли этот элемент иметь значение свойства 'numeric2', например? –

+0

да было бы «numeric2», затем «numeric3» и т. Д. – PurpleFoxy

ответ

2

Попробуйте это:

$allowed = (array) json_decode(file_get_contents("allowed.json")); 

Таким образом, вместо того, чтобы непосредственно разбор JSON в массив (указав второй параметр json_decode), сначала получить объект, который будет сохранить ключ, затем отливали в виде массива.

+0

Это работает, спасибо! – PurpleFoxy

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

  • Нет связанных вопросов^_^