Sponsor-Board.de
PHP/JSON-Problem

+- Sponsor-Board.de (https://www.sponsor-board.de)
+-- Forum: Community (/forumdisplay.php?fid=56)
+--- Forum: Hilfe (/forumdisplay.php?fid=102)
+---- Forum: Scripting (/forumdisplay.php?fid=108)
+---- Thema: PHP/JSON-Problem (/showthread.php?tid=53177)


PHP/JSON-Problem - JH MEDIA - 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:

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


RE: PHP/JSON-Problem - Aaron - 21.01.2015 19:01

Dann zeig mal bitte den Inhalt der json.php Wink


RE: PHP/JSON-Problem - Bonyamin - 21.01.2015 19:04

Mal ein var_dump von der Variable gemacht, nach dem decode?


RE: PHP/JSON-Problem - JH MEDIA - 21.01.2015 19:10

Bonyamin schrieb:
Mal ein var_dump von der Variable gemacht, nach dem decode?


Auch bereits versucht, es wird "NULL" angezeigt.



Aaron schrieb:
Dann zeig mal bitte den Inhalt der json.php Wink


Einfach gesagt sieht der Inhalt folgendermaßen aus:

Code:
echo json_encode(array("jahr"=>"2015", "monat"=>"januar"));




RE: PHP/JSON-Problem - -superfarmer1995 - 21.01.2015 20:16

Edit:
zu spät gelesen Biggrin

Edit2:

Habe gerade folgendes getest
test.php

Code:
<?php
echo json_encode(array("jahr"=>"2015", "monat"=>"januar"));


index.php

Code:
<?php
$antwort = file_get_contents("http://localhost/admin/test.php");
$antwort = json_decode($antwort, true);
$inhalt = $antwort["jahr"];
echo $inhalt;


und mir wird 2015 ausgegeben
Ist der inhalt den file_get_contents bekommt wirklich richtig?
Eventuell mal mit var_dump ausgeben


RE: PHP/JSON-Problem - Sysix - 21.01.2015 20:25

was bringt es ein array in json umzuwandeln und dann wieder in array?

Ich würde das ganze mal mit einer echten json datei probieren oder wenigstens die richtigen header senden.

Gruß Sysix


RE: PHP/JSON-Problem - JH MEDIA - 21.01.2015 20:51

Jetzt habe ich den Fehler endlich gefunden! Es lag an der Datei-Kodierung der json.php!
Diese war auf UTF-8 eingestellt, habe sie dann auf UTF-8 ohne BOM geändert, so hat es funktioniert.
Ist mir aufgefallen als ich auch nochmal zwei komplett neue Dateien erstellt habe mit dem gleichen Code wie -superfarmer1995. So hat es nämlich bei mir auch funktioniert. Und dann ist mir einfach mal die Kodierung eingefallen.

Ich bedanke mich für alle Antworten!


@Sysix: Die json.php ruft Informationen aus einer Datenbank ab und gibt diese als JSON zurück, sodass andere Seiten und Server diese abrufen können. Ist für mich die beste Lösung gewesen, kam mir noch auf ein paar Details an. Smile


MFG