2016-06-12 4 views
2

У меня есть объект JSON, как это:чтения JSON объект в PHP

{"g_aaa77": 
    {"'title'":"title2", 
     "'r_a6cff'":     
      {"name":"name2","price":"2"}, 
     "'r_7fc7b'": 
      {"name":"name22","price":"22"} 
    }, 
"g_a36b5": 
    {"title":"title1", 
     "r_4e122": 
      {"name":"name1","price":"1"}, 
     "r_155fa": 
      {"name":"name11","price":"11"} 
    } 
} 

g_aaa77 и g_a36b5 являются случайной строкой.

Также r_a6cff, r_7fc7b, r_4e122, r_155fa

Как я могу прочитать этот JSON?

Обычно этот путь:

$json = { .. }; 

$json->g_a36b5->title; 

Но у меня нет 'g_a36b5'. это случайная строка.

Возможно, я должен преобразовать этот json в другой или что-то в этом роде.

может у вас рассказать мне, как я могу прочитать этот json?

+0

Начните с json_decoding его –

+0

Вы можете использовать 'json_decode () 'тогда цикл' foreach' – Tristan

ответ

8

Первый, json_decode ваш json.

$array = json_decode($json, true); 

Теперь вам нужно перебрать с Еогеасп, так как вы еще не знаете, что ключи:

foreach($array AS $key => $subarray) { 
    echo $key . ": " . print_r($subarray, true); 
} 

Если вы не заботитесь о сохранении ключей, можно просто удалить эти случайные строки с помощью array_values.

$array = array_values($array); 

Теперь вы можете цикл через него, или просто обратиться к элементу массива непосредственно с помощью цифровой клавиши:

print_r($array[0]); 
echo $array[1]['title']; // title1 

Пример: https://3v4l.org/s2it1

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