2016-06-12 10 views
2

Ich habe einige Json Objekt wie folgt:lesen JSON-Objekt in 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 und g_a36b5 eine zufällige Zeichenfolge sind.

Auch r_a6cff, r_7fc7b, r_4e122, r_155fa

Wie kann ich lesen Sie diese json?

Normalerweise ist diese Art und Weise:

$json = { .. }; 

$json->g_a36b5->title; 

Aber ich habe nicht 'g_a36b5'. Es ist eine zufällige Zeichenfolge.

vielleicht muss ich diesen JSON zu einem anderen oder so etwas konvertieren.

können Sie mir bitte sagen, wie kann ich dieses Json lesen?

+0

Starten von json_decoding es –

+0

Sie können 'json_decode () 'dann eine 'foreach'-Schleife – Tristan

Antwort

8

Erste, json_decode Ihre JSON.

$array = json_decode($json, true); 

Sie werden nun in einer Schleife müssen durch eine foreach, da Sie noch nicht wissen, was die Tasten sind:

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

Wenn Sie nicht über kümmern sich die Schlüssel zu halten, Sie kann nur diese zufälligen Zeichenfolgen mit array_values entfernen.

$array = array_values($array); 

Jetzt können Sie noch eine Schleife durch sie, oder die Adresse nur ein Array-Element direkt über Zifferntaste:

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

Beispiel: https://3v4l.org/s2it1