Renvoie JSON à partir du script PHP
P粉752812853
P粉752812853 2023-10-09 10:46:10
0
2
644

Je souhaite renvoyer du JSON à partir d'un script PHP.

Est-ce que je fais simplement écho aux résultats ? Dois-je définir l'en-tête Content-Type ?

P粉752812853
P粉752812853

répondre à tous(2)
P粉539055526

Le code PHP complet et clair qui renvoie JSON est :

$option = $_GET['option'];

if ( $option == 1 ) {
    $data = [ 'a', 'b', 'c' ];
    // will encode to JSON array: ["a","b","c"]
    // accessed as example in JavaScript like: result[1] (returns "b")
} else {
    $data = [ 'name' => 'God', 'age' => -1 ];
    // will encode to JSON object: {"name":"God","age":-1}  
    // accessed as example in JavaScript like: result.name or result['name'] (returns "God")
}

header('Content-type: application/json');
echo json_encode( $data );
P粉311563823

Bien que tout se passe généralement bien sans cela, vous pouvez et devez définir l'en-tête Content-Type :

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

Si je n'utilise pas de framework spécifique, j'autorise généralement certains paramètres de requête à modifier le comportement de sortie. Souvent, pour un dépannage rapide, il peut être utile de ne pas envoyer l'en-tête, ou parfois print_r le chargement des données pour l'observer (bien que dans la plupart des cas cela ne soit pas nécessaire).

Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal