Échapper aux barres obliques dans json_encode()
Lorsque vous travaillez avec des données JSON en PHP, vous pouvez rencontrer une situation où des barres obliques ("/ ") sont échappés à l'aide de json_encode(). Cela peut se produire lors de l'extraction de données JSON à partir de sources externes et de leur analyse dans un tableau à des fins de restructuration. Les barres obliques échappées peuvent affecter l'intégrité des données si elles ne sont pas modifiées.
Pour désactiver ce comportement d'échappement, PHP 5.4 et versions ultérieures fournissent l'indicateur JSON_UNESCAPED_SLASHES. En ajoutant cet indicateur à votre fonction json_encode(), vous pouvez empêcher l'échappement automatique des barres obliques.
$results = json_encode($results, JSON_UNESCAPED_SLASHES);
Cette modification garantira que les barres obliques de vos données JSON ne restent pas échappées, préservant ainsi l'intégrité des données. après la mise en cache des fichiers.
Important Remarque :
Avant d'utiliser JSON_UNESCAPED_SLASHES, il est crucial de comprendre ses implications. Cet indicateur ne doit pas être utilisé dans des contextes Web/HTML car il peut présenter des risques de sécurité. Cependant, il peut être applicable dans des environnements de communication CLI ou JSON non HTTP. Si l'échappement des barres obliques est essentiel pour la lisibilité dans les applications Web/HTML, envisagez d'utiliser des méthodes alternatives pour le gérer.
Exemple :
Considérez l'exemple suivant, où les données JSON est récupérée et analysée :
$instagrams = json_decode($response)->data;
Après restructuration, les données sont réencodées et cached :
file_put_contents($cache, json_encode($results));
Le fichier de cache résultant contiendrait des barres obliques échappées sans JSON_UNESCAPED_SLASHES. Cependant, l'ajout de l'indicateur à la fonction json_encode() préserverait les barres obliques sans échappement :
file_put_contents($cache, json_encode($results, JSON_UNESCAPED_SLASHES));
En comprenant et en utilisant l'indicateur JSON_UNESCAPED_SLASHES, vous pouvez contrôler le comportement d'échappement des barres obliques dans les données JSON, garantissant ainsi son l'intégrité et éviter la corruption potentielle des données.
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!