2016-07-18 3 views
-1

Ich habe eine JSON-Zeichenfolge, die 'ist' gültige JSON, nach JavaScript JSON.parse und einige Online-JSON-Validatoren. Allerdings sagt PHPs json_decode, dass es einen Syntaxfehler gibt und ich für das Leben von mir nicht finden kann, wo er/sie ist.PHP json_decode() Fehler

meine JSON-String Hier ist, http://pastebin.com/pVLmUzQ5 (es überschreitet die Stiftlänge von Stackoverflow)

edit:

Die JSON enthält einige Felder dieser Struktur:

"pets":{"":null} 

Edit: Etwas, das ich vergessen Zu erwähnen ist, dass ich den JSON in ein POST-Formular einfügen und die Daten von der Input :: post() -Methode von CodeIgniter mit aktivierter globaler XSS-Bereinigung abrufen soll. Was scheint das Problem zu verursachen. Was ich anhand des Posts unten feststellen konnte und alle Posts, die PHP sagen, entschlüsseln es korrekt.

+0

Ja, das JSON scheint gültig. Da wir hier nichts mehr zu tun haben, können wir nichts mehr für Sie tun. – deceze

+1

Ihre JSON-Zeichenfolge ist gültig und PHP analysiert sie gerne. Ich habe alle Versionen von 5.3 bis 7.0 getestet und keiner von ihnen beschwert sich darüber. – axiac

+2

Was ist der genaue Fehler, den Sie bekommen? – Barmar

Antwort

3

Ihr JSON scheint mir korrekt zu sein. Ich schätze, dass Sie versuchen, den JSON in einfache oder doppelte Anführungszeichen zu schreiben, die nicht funktionieren, weil Ihre Zeichenfolge beide dieser Zeichen enthält, die nicht klassifiziert sind.

Versuchen Sie JSON in einer HEREDOC Einwickeln und dann Parsen:

mit Ihren
<?php 

$json = <<<EOL 
{"foo":"here is a single quote '"} 
EOL; 

$decoded = json_decode($json); 
var_dump($decoded); 

Bitte ersetzen Sie meinem Beispiel JSON.

+0

Ich bin nicht wirklich manuell in die Zeichenfolge einfügen. Ich nehme die Zeichenkette von einem iFrame von der Seite, von der es kommt und füge es in eine