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
Barbara Streisandoriginal
2024-11-27 18:55:12722parcourir

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);

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!

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