21.01.2015, 18:53
Hallo,
ich möchte eine Zeichenkette im JSON-Format in PHP per file_get_contents() einlesen, anschließend dekodieren und zum Schluss die ausgelesenen Werte anzeigen lassen.
Bisher bin ich so vorgegangen:
ich möchte eine Zeichenkette im JSON-Format in PHP per file_get_contents() einlesen, anschließend dekodieren und zum Schluss die ausgelesenen Werte anzeigen lassen.
Bisher bin ich so vorgegangen:
Code:
//Zuerst wird der JSON-String aufgerufen
$antwort = file_get_contents("http://meinedomain.de/json.php");
//Rückgabewert: {"jahr":"2015"}; wird auch korrekt gelesen (per echo $antwort geprüft)
$antwort = json_decode($antwort, true);
$inhalt = $antwort["jahr"];
echo $inhalt;
Leider bleibt die Seite leer, der dekompilierte JSON-String wird nicht angezeigt.
Jetzt wird es aber interessant:
Wenn ich folgenden Code einfüge
Code:
$antwort = json_encode(array("jahr"=>"2015"));
//oder wahlweise auch
$antwort = '{"jahr":"2015"}';
und file_get_contents() weglasse, den JSON-String also direkt in der Datei definiere, wird alles korrekt angezeigt.
Am Ende erscheint also "2015" auf der Seite.
Wenn ich bei der ersten Variante mit file_get_contents() noch
Code:
json_last_error();
am Ende einfüge, wird eine "4" angezeigt, heißt also Syntax-Error.
Auch die Übertragung mit base64_encode und base64_decode funktioniert nicht.
Habe schon zu lange rumprobiert und hoffe, dass mir hier jemand helfen kann!
MFG