kostenloser Webspace werbefrei: lima-city


Daten aus API auslesen

lima-cityForumProgrammiersprachenPHP, MySQL & .htaccess

  1. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Hallo zusammen.

    Ich muss auf eine API zugreifen und alle "Objekte" auslesen. Der Aufbau der API sieht so aus:


    "data": {
    "3089": {
    ...
    },
    "2009": {
    ...
    },...

    Die Zahlen sind variabel und ich will all diese Zahlen in einem Array haben. Mich Interessieren nur die Zahlen, nicht die Werte, die auf die Zahl folgen. Normal benutze ich folgenden Code, um auf eine API zuzgreifen:

    $url = '...';
    $out = get_headers($url);
    list ($http, $zahl, $status) = explode(' ', $out[0], 3); // 
    if($zahl == 200){
    	$json_file = @file_get_contents($url);
    	$json_array = json_decode($json_file);
    	$array = $json_array->data;
    	$anzahl = count($array);
    	for($i = 0; $i < $anzahl; $i++){
    		echo $array[$i]->name;
            }
    }

    Aber sonst war "data" in der API auch immer ein Array, sodass ich diesen Code benutzen konnte. Aber jetzt steht hinter dem Data ja eine geschweifte Klammer und keine eckige. Wie muss ich den Code also umwandeln, damit ich alle benötigten Zahlen in ein Array bekomme, also: (3089, 2009, ...)

    Ich würde mich über Hilfe freuen.
    Viele Grüße

    Beitrag zuletzt geändert: 21.2.2014 22:40:17 von ultimate-bravery
  2. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

  3. Die API liefert doch ein Array zurück. Wenn ich nicht irre im JSON-Format. Mit php kannst Du diese Antwort mittels json_decode()verarbeiten.
  4. Autor dieses Themas

    ultimate-bravery

    ultimate-bravery hat kostenlosen Webspace.

    Ich habs hinbekommen. Hier der Code:

    $url = '...';
    $out = get_headers($url);
    list ($http, $zahl, $status) = explode(' ', $out[0], 3); 
    if($zahl == 200){
    	$json_file = @file_get_contents($url);
    	$json_array = json_decode($json_file);
    	$array = $json_array->data;
    	$anzahl = count($array);
    	foreach(get_object_vars($array) as $property => $value) {
    	  echo $property."<br>";
    	}
    }

    Der Code gibt mir untereinander die gebrauchten Zahlen aus.

    Beitrag zuletzt geändert: 21.2.2014 23:52:59 von ultimate-bravery
  5. ultimate-bravery schrieb:
    Deine Antwort hilft mir nicht weiter

    Doch! Wenn Du das Manual liest, wirst Du feststellen, daß die Funktion einen passenden Parameter liefert, um das Objekt in ein Array zu wandeln.


    Edit: Scheint ja auch anders funktioniert zu haben. :wink:

    Beitrag zuletzt geändert: 22.2.2014 0:04:17 von fatfreddy
  6. Diskutiere mit und stelle Fragen: Jetzt kostenlos anmelden!

    lima-city: Gratis werbefreier Webspace für deine eigene Homepage

Dir gefällt dieses Thema?

Über lima-city

Login zum Webhosting ohne Werbung!