1123 votes

De retour JSON à partir d'un Script PHP

Je souhaite retourner un .JSON à partir d'un script PHP, je viens de faire écho à la suite? Dois-je définir l'en-tête content-type?

2020voto

timdev Points 25910

Alors que vous êtes habituellement très bien sans elle, vous pouvez et devez définir le Type de Contenu d'en-tête:

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

Si je ne suis pas à l'aide d'un cadre particulier, j'ai l'habitude de permettre à certains de demande de paramètres à modifier le comportement de la sortie. Il peut être utile, généralement pour le dépannage rapide, de ne pas envoyer un en-tête, ou parfois print_r la charge utile de données à vue d'œil (même si dans la plupart des cas, il ne devrait pas être nécessaire).

151voto

aesede Points 97

Pour les débutants, un morceau complet de nice et effacer le code PHP de retour json est:

$data1 = array( 'a', 'b', 'c' );
$data2 = array( 'name' => 'God', 'age' => -1 );
$option = 1; 
header('Content-type: application/json');
if ( $option == 1 )
  echo json_encode( $data1 );
  // prints json array ["a","b","c"]
else
  echo json_encode( $data2 );
  // prints json object {"name":"God","age":-1}  

EDIT:
Dieu est à l'âge de -1 signifie que Dieu n'existe pas. Je voulais juste éclaircir ce.

41voto

thejh Points 20901

Essayez json_encode d'encoder et de définir le type de contenu avec header('Content-type: application/json');.

26voto

Brad Mace Points 12173

Définir le type de contenu avec header('Content-type: application/json'); , puis l'écho de vos données.

3voto

Codemwnci Points 28817

La réponse à votre question est ici,

Il est dit.

Le type MIME pour JSON texte est application/json.

donc, si vous définissez l'en-tête de ce type, et à la sortie de votre chaîne JSON, il devrait fonctionner.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X