drwindows97
Goto Top

Bestimmmte Werte mit PHP aus JSON Datei filtern ?

Hallo Administratoren,
ich habe folgendes Problem.

Ich greife mittels PHP auf eine Internetseite zu die mir einen JSON Quelltext zurückliefert.
Diesen möchte ich jetzt nach den Werten account_id, account_name und role_i18n durchsuchen und das dahinterstehende ausgeben.
Klingt eigentlich einfach, aber bei mir wird nichts ausgegeben.

Mein Ansatz war bisher folgender:
error_reporting(E_ALL ^  E_NOTICE);
$jsonfile = file_get_contents('http://api.worldoftanks.eu/2.0/clan/info/?application_id=d0a293dc77667c9328783d489c8cef73&clan_id=500030916');  
$jsonarray = json_decode($jsonfile, true);

//...

echo $jsonarray['account_id'];  
echo $jsonarray['account_name'];  
echo $jsonarray['role_i18n'];  

Könnt ihr mir sagen was ich falsch mache ?

Danke für eure Hilfe,

DRwindows97

Content-Key: 221107

Url: https://administrator.de/contentid/221107

Printed on: April 19, 2024 at 15:04 o'clock

Member: colinardo
colinardo Nov 04, 2013, updated at Nov 05, 2013 at 10:50:17 (UTC)
Goto Top
Hallo DrWindows97,
dein JSON File ist mehrfach in Arrays geschachtelt, d.h du musst bis zum gewünschten Wert "navigieren". Außerdem gibt es deine Werte mehrfach d.h. du müsstest dann die Werte mit einer Schleife durchlaufen, um bestimmte Werte zu finden bzw. auszulesen.
$jsonfile = file_get_contents('http://api.worldoftanks.eu/2.0/clan/info/?application_id=d0a293dc77667c9328783d489c8cef73&clan_id=500030916');  
$jsonarray = json_decode($jsonfile, true);
foreach ($jsonarray['data']['500030916']['members'] as $key=>$value){  
	echo $value['account_id']." , ".$value['account_name']." , ".$value['role_i18n'] . "<br>";	  
}
Die genaue Struktur kannst du dir ja mit var_dump($jsonarray); ausgeben lassen...

Grüße Uwe
Member: nxclass
nxclass Nov 04, 2013 updated at 22:24:51 (UTC)
Goto Top
... wenn ich mir das Ergebnis der URL anschaue sehe ich ein stark verschachteltes Objekt.
var_dump($jsonarray);
... du solltest anschauen was Du zurückbekommst.
foreach ($jsonarray['data']['500030916']['members'] as $key=>$values) {  
   echo $values['account_id'];  
   // ...
}
...hilfreich ist bei sowas zB auch "Online-Json-Formatierer" wie http://jsonformat.com
Member: DRwindows97
DRwindows97 Nov 05, 2013 at 17:21:01 (UTC)
Goto Top
Vielen Dank, ihr beiden mit eurer Hilfe könnte ich nun die Daten in eine Textdatei schreiben, jetzt muss ich nur noch rausfinden wie ich das ganze in meine MYSQL-Benutzerdatenbank importiere.