Maison  >  Article  >  développement back-end  >  Comment renvoyer le format de données JSON sans nouvelles lignes en PHP

Comment renvoyer le format de données JSON sans nouvelles lignes en PHP

PHPz
PHPzoriginal
2023-03-31 10:08:451240parcourir

PHP est un langage de programmation Web très populaire. Il présente les avantages d'une vitesse de développement rapide, d'une syntaxe simple et d'une forte évolutivité, et est très populaire parmi les développeurs. Dans le développement Web, JSON (JavaScript Object Notation) est un format d'échange de données léger utilisé pour transférer des données entre clients et serveurs. En PHP, renvoyer le format de données JSON est une tâche relativement simple, mais vous pouvez rencontrer des problèmes lors du développement réel, tels que le format de données renvoyé ne répondant pas aux exigences. Cet article explique comment renvoyer le format de données JSON sans nouvelles lignes en PHP.

Tout d'abord, jetons un coup d'œil au code PHP standard qui renvoie le format de données JSON :

$data = array(
    'name' => 'John',
    'age' => 30,
    'city' => 'New York'
);

header('Content-Type: application/json');
echo json_encode($data);

Le code ci-dessus utilise la fonction json_encode intégrée de PHP pour convertir un tableau associatif en chaîne au format JSON et le définir via la fonction d'en-tête Response. en-tête, spécifiant le type de données renvoyé comme JSON. Enfin, utilisez l'instruction echo pour afficher la chaîne JSON.

Si nous exécutons ce code, nous obtiendrons une chaîne JSON qui ressemble à ceci :

{
    "name": "John",
    "age": 30,
    "city": "New York"
}

Comme vous pouvez le voir, il y a une nouvelle ligne et un retrait entre chaque paire clé-valeur dans la chaîne JSON. Cela est dû à By. par défaut, la fonction json_encode ajoute un caractère de nouvelle ligne et un caractère d'indentation TAB entre chaque paire clé-valeur. Que devons-nous faire si nous ne voulons pas que les caractères de nouvelle ligne et les caractères d'indentation existent dans la chaîne JSON ?

La solution est très simple, il suffit de passer les deux paramètres JSON_UNESCAPED_UNICODE et JSON_UNESCAPED_SLASHES lors de l'appel de la fonction json_encode. JSON_UNESCAPED_UNICODE est utilisé pour conserver les caractères chinois et JSON_UNESCAPED_SLASHES est utilisé pour éviter les barres obliques d'échappement. Le code modifié est le suivant :

$data = array(
    'name' => 'John',
    'age' => 30,
    'city' => 'New York'
);

header('Content-Type: application/json');
echo json_encode($data, JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);

Si nous exécutons à nouveau ce code, nous obtiendrons une chaîne JSON comme indiqué ci-dessous :

{"name":"John","age":30,"city":"New York"}

Comme vous pouvez le voir, il n'y a pas de nouvelle ligne et entre chaque paire clé-valeur dans la chaîne JSON Les caractères d'indentation et les caractères chinois sont également correctement conservés. Voici comment renvoyer le format de données JSON sans nouvelles lignes en PHP.

Bien sûr, si vous souhaitez que des caractères de nouvelle ligne et d'indentation existent dans la chaîne JSON, vous pouvez également transmettre le paramètre JSON_PRETTY_PRINT lors de l'appel de la fonction json_encode. JSON_PRETTY_PRINT est utilisé pour générer une chaîne JSON formatée avec des caractères d'indentation et de nouvelle ligne. Par exemple :

$data = array(
    'name' => 'John',
    'age' => 30,
    'city' => 'New York'
);

header('Content-Type: application/json');
echo json_encode($data, JSON_PRETTY_PRINT | JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);

Le résultat de sortie est le suivant :

{
    "name": "John",
    "age": 30,
    "city": "New York"
}

En bref, pour les développeurs PHP, renvoyer le format de données JSON n'est pas seulement une opération de base, mais nécessite également plus d'attention aux différents réglages de paramètres pour répondre aux besoins spécifiques du projet.

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn