Parsen von JSON von URL mit PHP
Nach googeln, die Implementierung von code nach code, ich kann immer noch nicht ALLES angezeigt. Nichts. Nicht eine Sache.
Ich habe eine URL spuckt JSON:
{"videos":[{"video":{"name":"Sanyo Zio","youtube":"FxxLDr--R5A","post_date":"2010-10-08 01:00:00",...
Hier ist der code, den ich verwende, um Zugriff auf die Seite:
$url = file_get_contents("http://[website]/json/test.json");
$arr = json_decode($url,true);
Nun, hier ist eine kurze Liste von dem, was ich habe versucht, den Zugriff auf ALLE Daten von der Seite:
1:
print_r($arr);
2:
foreach($arr['videos']['video'] as $item) {
echo "Name: ". $item[0] ."<br>";
}
3:
$obj = $arr[0];
echo $obj;
4:
foreach($arr as $a){
echo "Name: ".$a['videos']['video']['name']."<br />";
}
Klar bin ich etwas fehlt, aber ich habe nicht in der Lage gewesen, um herauszufinden, was ich falsch mache! Ist meine Codierung nicht korrekt? Hier ist, wie ich bin-Kodierung der JSON zu beginnen mit:
$arr = array('videos' => array());
foreach($vid as $items){
$arr['videos'][] = array('video' => array(
'name' => $items['videoName'], 'youtube' => $items['youtubeID'], 'post_date' => $items['productionTimestamp'], 'description' => $items['videoDesc'], 'link' => $single_linker_values['deeplink'], 'image' => $image));
}
echo json_encode($arr);
Irgendwelche Ideen/Vorschläge?
Update - Anscheinend ist der server gesperrt ist, aber als inhouse ich nicht bemerken 🙂 Offensichtlich ist die Webseite nicht! Vielen Dank für die Hilfe!
var_dump()
?Also, was bedeutet
print_r($arr);
zeigen? Was ist hier das problem?var_dump($url);
bevor Sie versuchen, alles analysieren, um zu sehen, ob Sie tatsächlich eine Antwort.print_r($arr); nicht alles zeigen, das führt mich zu glauben, dass das Problem entweder mit dem Abruf oder der Kodierung.
Haben Sie überprüfen Sie Ihre PHP-Datei-Codierung?
InformationsquelleAutor cfox | 2013-01-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Aus dem PHP Manual
Da Sie nicht die Angabe einer Rekursion begrenzen, die Chancen sind, dass entweder dein JSON ist ungültig oder wird nichts abgerufen von URL.
Drei Dinge versuchen:
festzustellen, ob es war ein json_decode Fehler
print_r(json_last_error()); //call after json_decode
überprüfen, dass die Daten zurückgegeben
print_r($url);
sehen, ob die Daten decodieren und als Objekt
$obj = json_decode($url);
print_r($obj);
So gibt es das problem, $url leer ist, was bedeutet
file_get_contents("http://[website]/json/test.json");
ist nicht alles abrufen. Können geben Sie den vollständigen URL und wir überprüfen können?Ich habe die URL zu meiner ursprünglichen Frage.
Ihre URL ist wieder ein
204 No-Content
AntwortDas würde es erklären. Server gesperrt. Denke, ich werde einen anderen Weg finden. Danke!
InformationsquelleAutor PassKit