2016-03-27 6 views
3

ich von Android meine Anfrage passierenDer Versuch, Eigentum von Nicht-Objekt zu erhalten

$request = Slim::getInstance()->request()->getBody(); 
$final = json_decode($request); 
echo '{"test": ' . $final->name . '}'; 

wo

$request = "{\"name\":\"xxxx\"}" 

beim Laufen gibt es Eigenschaft von nicht-Objekt Fehlermeldung zu erhalten Versuch

+0

Versuchen echo der Inhalt von: http://php.net/manual/en/function.json-last-error.php – Arno

+1

das Beispiel, das Sie zur Verfügung gestellt hat funktioniert wie ein Charme, ich denke, dass Sie haben ein Problem in einem anderen Fall ... nur 'var_dump ($ request)' bevor Sie es entschlüsseln und Sie sehen die Antwort auf Ihr Problem –

+0

@HalayemAnis Ich habe versucht, statische Daten in $ request = '{\ "name \": \ "xxxx \"} 'es funktionierte gut .. Das Problem, das ich hier konfrontiert Doppelzitat –

Antwort

0

Es sieht so aus, als ob Sie das Objekt zweimal codiert haben (die Backslashes lassen mich das denken). Also, das Objekt zweimal zu entschlüsseln kann das beheben:

$final = json_decode(json_decode($request)); 

Oder nicht codieren zweimal an erster Stelle. Sie können die Schrägstriche auch entfernen und dann decodieren.

+0

" {\ "name \": \ "xxxx \"} "kommt von Android, was JSONObject.toString-Wert ist –

Verwandte Themen