Maison >développement back-end >tutoriel php >Comment puis-je empêcher l'échappement de la barre oblique dans « json_encode() » de PHP ?
É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);
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/"
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!