2017-01-28 5 views
2

Ich arbeite an einem Projekt. In dem ich Daten im JSON String-Format von Android oder iOS-Anwendung bekomme. Ich benutze json decode, um es zu entschlüsseln. Aber ich habe kein Array bekommen.Wie dekodiert man JSON-String?

ioS und Android ruft folgende URL auf und gibt Daten im REQUEST-Modus über URL weiter. URL ist wie folgt:

http://dummy.test.pro/webservices/Cart/AddToCartMatrix?{ "Add_Cart" = "{\n \"product_id\" : \"30\",\n \"user_id\" : \"67\",\n \"design_inventory\" : \"design_master\",\n \"table\" : \"temp_cart\"\n}"; } 

In PHP, ich lese Daten wie folgt:

$cart_data = json_decode(stripslashes($_REQUEST['Add_Cart'])); 
pre($cart_data); 

Aber Nach URL aufrufen, erhalte ich folgende Fehlermeldung:

Nachricht: Undefined index: Add_Cart

Bitte helfen Sie mir in dieser Ausgabe. Danke im Voraus.

Antwort

0

Das bedeutet, dass Add_Cart kein Index in Ihrem $ _REQUEST Array ist.

Warum verwenden Sie nicht so etwas wie print_r($_REQUEST), um den Inhalt Ihrer Anfrage zu überprüfen?

+0

Wenn ich schreibe print_r ($ _ REQUEST) Versuchen Sie dann Daten Ich erhalte. –

0

Ich bin mir nicht sicher, wie Sie die Anfrage senden, aber die Anfrage bearbeiten, aber ich denke, ändern, wie Sie Ihre Anfrage von Uri senden.

http://dummy.test.pro/webservices/Cart/AddToCartMatrix?{ "Add_Cart" = "{\n \"product_id\" : \"30\",\n \"user_id\" : \"67\",\n \"design_inventory\" : \"design_master\",\n \"table\" : \"temp_cart\"\n}"; } 

zu:

http://dummy.test.pro/webservices/Cart/AddToCartMatrix?Add_Cart=%7B%5Cn+%5C%22product_id%5C%22+%3A+%5C%2230%5C%22%2C%5Cn+%5C%22user_id%5C%22+%3A+%5C%2267%5C%22%2C%5Cn+%5C%22design_inventory%5C%22+%3A+%5C%22design_master%5C%22%2C%5Cn+%5C%22table%5C%22+%3A+%5C%22temp_cart%5C%22%5Cn%7D 

Lesen Sie mehr darüber, warum dies funktioniert diese Methode here

works enter image description here

In meiner eigenen Tests arbeiten. Stellen Sie sicher, dass Sie eine URL-Codierungsfunktion für JSON aufrufen und Add_Cart als Variablennamen für den JSON angeben. (nicht in JSON als es umschließt)

0

Diese iOS/Android-Anwendung sendet eine ziemlich fehlerhafte URL, die kein bekanntes oder gültiges Abfragezeichenfolgenformat verwendet. Das bedeutet, dass Sie sich nicht auf PHP verlassen können, um es für Sie in $_GET oder $_REQUEST zu decodieren.

Wenn Sie die App-Schöpfer in Verbindung treten können, um es reparieren zu lassen, werden Sie die Rohdaten von der URL holen müssen (wenn GET):

$json = $_SERVER['QUERY_STRING'] 

... oder der Anfrage Körper (wenn POST):

$json = file_get_contents("php://input"); 

es ist jedoch nach wie vor möglich ist (ich würde, dass Daten, die wahrscheinlich sagen) wurde auf den Transport und weitere json_decode() beschädigt hat versagt. Wenn dies der Fall ist, müssen Sie zusätzliche Zeichenfolgen ersetzen, um es zu reparieren.

0

Diese

http://dummy.test.pro/webservices/Cart/AddToCartMatrix?Add_Cart={\n \"product_id\" : \"30\",\n \"user_id\" : \"67\",\n \"design_inventory\" : \"design_master\",\n \"table\" : \"temp_cart\"\n} 

Sie Schlüssel get-Methode verpasst

könnte
Verwandte Themen