2017-12-28 2 views
2

Ich versuche, JSON-Daten von einer einfachen API abrufen, einfach die Chancen & Sport unter einigen anderen Zeichenfolgen.API-Aufruf json_decode() Erstellen von Objekt

Ich bin speziell auf der Suche nach der '$ Ergebnis [' Sport '] - Variable.

Im um mit dem folgenden Code zu spielen, aber ich bekomme immer wieder Fehler auf keinen Objekttyp

Aufruf von Objekteigenschaft zurück.

Wie ich es json_decode() kehrt Typ Objekt zu verstehen, die bestätigt wird, scheint, wenn ein var_dump() tun?

Der Code unten folgende

$json = file_get_contents('https://api.the-odds-api.com/v2/sports/?apiKey=123456789'); 

$obj = json_decode($json); 
print_r($obj); 
$urlData = array(); 
foreach ($obj as $value) { 
    $urlData[] = $value->$urlData; //Trying to get property of non-object in 
    echo $value['sport']; //Undefined index: sport 
    echo $value->$urlData; //Trying to get property of non-object 
} 
print_r($urlData) //Array ([0]=>[1]=>) 

Jede Beratung oben zurückkehrt, zu schätzen!

+1

Setzen Sie den zweiten Parameter von json_decode() auf TRUE und alles wird stattdessen in ein Array eingefügt, was es für einige Leute einfacher macht. –

+0

Hallo Brian Ich habe versucht, $ obj = json_decode ($ json, true); foreach ($ obj als $ value) {echo $ value ['sport']; } 'jedoch bekomme ich einen undefinierten Indexfehler zurück, wenn ich versuche, auf – Marilee

Antwort

1

Um json_decode zur Rückgabe eines Arrays zu erhalten, verwenden Sie json_decode($json, true);. Greifen Sie dann auf Elemente im Array zu.

aktualisieren

Versuchen

$obj = json_decode($json, true); 
foreach ($obj['data'] as $value) { 
    echo $value['display_name']; 
} 
+0

' $ obj = json_decode ($ json, true) zuzugreifen; '' foreach ($ obj als $ value) { echo $ value ['sport']; } 'Ergebnisse in undefinierten Index Fehler – Marilee

+0

Danke, dass funktioniert hat. Darf ich fragen, woher kommt die '$ obj ['data']' 'in foreach() Schleife? – Marilee

0

können Sie json_decode ($ json, true) verwenden; Wenn TRUE, werden zurückgegebene Objekte in assoziative Arrays konvertiert.