1132 Stimmen

Rückgabe von JSON aus einem PHP-Skript

Ich möchte JSON aus einem PHP-Skript zurückgeben.

Soll ich das Ergebnis einfach wiedergeben? Muss ich die Content-Type Kopfzeile?

3 Stimmen

Setzen Sie immer den Content-Type-Header für json, um XSS zu vermeiden. Beachten Sie den Unterschied zwischen diesen beiden Skripten: <?php print json_encode(["someKey" => "<body onload=alert(1)>"]); ?> und <?php header("Content-Type: application/json");print json_encode(["someKey" => "<body onload=alert(1)>"]); ?> Für weitere Informationen siehe: security.stackexchange.com/questions/169427/ [Kann keine Antwort einreichen, da Rufvoraussetzung]

5voto

Umesh Bhutada Punkte 47

Wenn Sie js-Objekt wollen, verwenden Sie header content-type:

<?php
$data = /** whatever you're serializing **/;
header('Content-Type: application/json; charset=utf-8');
echo json_encode($data);

Wenn Sie nur json wollen: entfernen Sie das Attribut content-type des Headers, kodieren Sie einfach und echo.

<?php
$data = /** whatever you're serializing **/;
echo json_encode($data);

3voto

jacr1614 Punkte 1110

Wenn Sie json von php erhalten müssen, das benutzerdefinierte Informationen sendet, können Sie dies hinzufügen header('Content-Type: application/json'); bevor Sie irgendetwas anderes drucken, dann können Sie Ihre Kunden echo '{"monto": "'.$monto[0]->valor.'","moneda":"'.$moneda[0]->nombre.'","simbolo":"'.$moneda[0]->simbolo.'"}';

3voto

Codemwnci Punkte 52604

Die Antwort auf Ihre Frage ist hier ,

Dort steht.

Der MIME-Medientyp für JSON-Text ist Anwendung/json.

Wenn Sie also den Header auf diesen Typ setzen und Ihren JSON-String ausgeben, sollte es funktionieren.

2voto

Nev Stokes Punkte 7453

Ja, Sie müssen echo verwenden, um die Ausgabe anzuzeigen. Mimetyp: application/json

1voto

Bidyashish Kumar Punkte 198

Dies ist ein einfaches PHP-Skript, um männliche weibliche und Benutzer-ID als json Wert wird jeder zufällige Wert, wie Sie rufen Sie das Skript json.php zurück.

Ich hoffe, dass dies hilft, danke

<?php
header("Content-type: application/json");
$myObj=new \stdClass();
$myObj->user_id = rand(0, 10);
$myObj->male = rand(0, 5);
$myObj->female = rand(0, 5);
$myJSON = json_encode($myObj);
echo $myJSON;
?>

0 Stimmen

T

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X