Maison > développement back-end > tutoriel php > Comment puis-je empêcher l'échappement de la barre oblique dans « json_encode() » de PHP ?

Comment puis-je empêcher l'échappement de la barre oblique dans « json_encode() » de PHP ?

Barbara Streisand
Libérer: 2024-11-27 18:55:12
original
739 Les gens l'ont consulté

How Can I Prevent Forward Slash Escaping in PHP's `json_encode()`?

Échapper aux barres obliques dans json_encode()

Lorsque vous travaillez avec JSON en PHP, il est courant de rencontrer des barres obliques échappées ("/") lors de l'encodage. En effet, JSON_ENCODE() échappe automatiquement ces caractères, ce qui peut poser problème dans certaines situations.

Par exemple, lorsque vous décodez des données JSON extraites d'Instagram à l'aide de json_decode($response)->data, vous devrez peut-être pour analyser les variables dans un tableau PHP, restructurer les données et les ré-encoder pour la mise en cache. Cependant, lors de l'ouverture du fichier cache, vous remarquerez peut-être que les barres obliques ont été échappées, ressemblant à "http://distilleryimage4.instagram.com/410e7...".

Pour éviter cet échappement automatique, vous peut utiliser l'indicateur JSON_UNESCAPED_SLASHES dans PHP 5.4 ou version ultérieure :

json_encode($str, JSON_UNESCAPED_SLASHES);
Copier après la connexion

Cependant, si vous utilisez une version antérieure de PHP, vous devrez modifier manuellement les fonctions existantes en fonction de vos besoins. Pensez à vous référer à des ressources telles que https://snippets.dzone.com/posts/show/7487 pour obtenir des conseils.

Voici une démonstration simple :

$url = 'http://www.example.com/';

echo json_encode($url), "\n"; // Output: "http:\/\/www.example.com\/"

echo json_encode($url, JSON_UNESCAPED_SLASHES), "\n"; // Output: "http://www.example.com/"
Copier après la connexion

En comprenant comment contrôler la barre oblique en vous échappant dans json_encode(), vous pouvez gérer efficacement les données lors des opérations liées à JSON.

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 de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal