Ich habe JSON.stringify verwendet, um ein JSON-Objekt in eine Zeichenfolge zu konvertieren, in einer Datenbank zu speichern und abzurufen. Wenn ich versuche, es mit json_decode() in json zu decodieren, gibt es NULL zurück (ich habe var_dump() verwendet, um es zu verifizieren).Eine der beiden JSON-Zeichenfolgen, die identisch aussehen, konnte nicht analysiert werden.
{"profilediv":" klsadnlksa ","profilediv2":" sankldnlkas ","profilediv3":" nsjakdnsjka "}
{"profilediv":"nsjakdnsjka","profilediv2":"sankldnlkas","profilediv3":"klsadnlksa"}
Ich bin in der Lage, die zweite Zeichenfolge zu analysieren, aber nicht die erste. Hier der gesamte Code.
<?php
$x = '{"profilediv":"
klsadnlksa
","profilediv2":"
sankldnlkas
","profilediv3":"
nsjakdnsjka
"}';
$x = trim($x);
$y = json_decode($x,true);
var_dump($y);
$json = '{"profilediv":"nsjakdnsjka","profilediv2":"sankldnlkas","profilediv3":"klsadnlksa"}';
var_dump(json_decode($json));
?>
Und hier ist der Ausgang
NULL object(stdClass)#1 (3) { ["profilediv"]=> string(11) "nsjakdnsjka" ["profilediv2"]=> string(11) "sankldnlkas" ["profilediv3"]=> string(10) "klsadnlksa" }
ich in der Lage bin $ json zu analysieren, aber nicht x $. Jede Hilfe wird geschätzt. Vielen Dank im Voraus.
Entfernen Sie die Zeilenumbrüche, sie die JSON ungültig machen. –
Ich habe trim für diesen Zweck verwendet. Überprüfen Sie den ersten Codeblock in der Frage, beide Strings sehen fast gleich aus. – handle
'trim()' schneidet nichts von dieser Zeichenfolge ab. Nur der Anfang und das Ende. – AbraCadaver