json anzeigen lassen

hups1803

Erfahrenes Mitglied
ich habe folgende json datei
PHP:
{"notifytxt":"test1","time":"1386936739","id":"3","margin":"200","notify_verify":""}{"notifytxt":"test2","time":"1386936739","id":"4","margin":"250","notify_verify":""}

die abfrage habe ich wie folgt

PHP:
$jsonfile = file_get_contents('json.php');
$jsonarray = json_decode($jsonfile, true);

echo $jsonarray['notifytxt'];

leider wird nichts angezeigt****

die anzeige geht nur wenn in der json.php nur ein eintrag vorhanden ist

wo ist der fehler ****
 
Das sind auch 2 getrennte Jsons-String. Welcher soll den PHP anzeigen?
Nimm file() anstelle von file_get_contents. Dann hast du einen Array mit den Zeilen (in dem Fall JSON-Strings). DIesesn Array kannst du dann abarbeiten.
 
ich möchte eigentlich alle auslesen und anzeigen lassen.

ich schreibe die daten so in die json datei

PHP:
$myFile = "json.php";
$fh = fopen($myFile, 'a') or die("can't open file");
$stringData = json_encode($_POST);
fwrite($fh, $stringData);
fclose($fh);

dadurch ergibt sich jeweils ein neuer string in der json
 
Und soll notifytxt vom ersten oder vom 2ten ausgegeben werden?
Du kannst sie nicht ienfach kombinieren. Dann hast du doppelte Schlüssel
 
aso mist

wie schreib ich denn das json das zb beim eintrag jeweils item1: usw steht

wenn ich es richtig verstanden habe ist das ein json objekt oder****

ich weiss nur nicht wie man die daten jeweils in ein objekt packt
 
Häh?

Ein JSON beginnt mit { und endet mit }.
{...}

Du hast aber
{....}Zeilenumruch{....}

Ergo hast du ZWEI JSON. Du kannst deine Aussagen drehn und wenden wie du willst, da hast ZWEI.
Damit hast du folgende Möglichkeiten:
1) Du liest beide einzeln aus (siehe meine erste Anwort)
2) Du ignoroerst einen (musst aber die Datei auch Zeilenweise einlesen)
3) Du packst die 2 JSON wieder in einen: {1:{....},2:{....}}
 
Zurück