JSON in PHP mit Curl veröffentlichen: Das fehlende Glied aufdecken
Beim Versuch, den Curl-Post-Befehl für die JSON-Datenübertragung in PHP zu verwenden, Bei der PHP-Interpretation der POST-Daten kann es zu einem Problem mit einem leeren Array kommen. Um dieses Problem zu lösen, liegt das Geheimnis darin, die Befehlsstruktur zu ändern.
Behebung der Fehlinterpretation
Standardmäßig erwartet der Parameter -d in Curl formcodierte Daten. Um PHP anzuweisen, den JSON-Inhalt korrekt zu interpretieren, muss der Parameter -H eingeführt werden. Die korrekte Befehlssyntax lautet wie folgt:
curl -v -H "Content-Type: application/json" -X POST -d '{"screencast":{"subject":"tools"}}' \ http://localhost:3570/index.php/trainingServer/screencast.json
Durch die Angabe von „Content-Type: application/json“ im Parameter -H teilen wir PHP mit, dass die POST-Daten im JSON-Format vorliegen. Dadurch kann PHP das JSON-Objekt richtig analysieren und verarbeiten und den Wert „tools“ der Eigenschaft „subject“ zuweisen.
Beispielantwort
Beim Ausführen des geänderten Befehls , die Antwort vom PHP-Server spiegelt nun die korrekt interpretierten JSON-Daten wider, wodurch das Problem eines leeren Arrays behoben wird:
HTTP/1.1 200 OK Date: Fri, 01 May 2009 22:03:00 GMT Server: Apache/2.2.8 (Win32) PHP/5.2.6 Content-Type: application/json; charset=utf-8 { "screencast": { "id": null, "subject": "tools", "body": null, "dataUrl": null, "dataMedium": null, "createdOn": null, "author": null } }
Das obige ist der detaillierte Inhalt vonWie poste ich JSON-Daten mithilfe von cURL ordnungsgemäß auf einem PHP-Server?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!