Heim >Backend-Entwicklung >PHP-Tutorial >Wie liest und analysiert man JSON-POST-Daten in PHP richtig?

Wie liest und analysiert man JSON-POST-Daten in PHP richtig?

DDD
DDDOriginal
2024-12-15 20:11:12940Durchsuche

How to Correctly Read and Parse JSON POST Data in PHP?

JSON-POST-Daten in PHP lesen

Beim Empfang von POST-Daten im JSON-Format ist es wichtig, sie korrekt in PHP abzurufen und zu analysieren. In Ihrem Szenario sind Probleme aufgrund einer falschen Verarbeitung der JSON-POST-Daten aufgetreten.

Um dieses Problem zu beheben, ersetzen Sie die Verwendung von $_POST durch andere Methoden, um die Roheingabe zu lesen und sie dann als JSON zu dekodieren. So können Sie dies erreichen:

Geändertes PHP auf der Empfangsseite:

$inputJSON = file_get_contents('php://input');
$input = json_decode($inputJSON, TRUE);

Dieser Code liest die Roheingabe als JSON und analysiert sie dann in ein Array auf den Sie mit $input zugreifen können.

Aktualisierter CURL-Code für Testen:

Wie in der Antwort erwähnt, sollte CURLOPT_POSTFIELDS mit JSON-codierten Zeichenfolgen für die JSON-Kommunikation verwendet werden. Hier ist der geänderte Code:

$data_string = json_encode($data);

$curl = curl_init('http://webservice.local/');
curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($curl, CURLOPT_HTTPHEADER, array(
    'Content-Type: application/json',
    'Content-Length: ' . strlen($data_string)
));
curl_setopt($curl, CURLOPT_POSTFIELDS, $data_string);
curl_setopt($curl, CURLOPT_RETURNTRANSFER, true);

$result = curl_exec($curl);
$result = json_decode($result);
var_dump($result);

Dieser Code stellt den HTTP-Header korrekt so ein, dass er JSON-Inhalte angibt, und codiert die Daten, bevor sie als JSON gesendet werden.

Zusätzlicher Hinweis:

Es ist wichtig sicherzustellen, dass der Header('Content-type: application/json'); Die Zeile erscheint nur einmal auf Ihrer Webservice-Seite. Wenn es mehrmals aufgerufen wird, kann es zu Problemen beim Senden der richtigen Header-Informationen kommen.

Das obige ist der detaillierte Inhalt vonWie liest und analysiert man JSON-POST-Daten in PHP richtig?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn