Pourquoi y a-t-il des barres obliques inverses dans mes données codées en JSON ?

Susan Sarandon
Libérer: 2024-11-11 07:19:03
original
880 Les gens l'ont consulté

Why are there backslashes in my JSON encoded data?

Échappements de barre oblique inverse dans l'encodage JSON

Lors de l'utilisation de json_encode pour convertir un tableau associatif en JSON, certains utilisateurs rencontrent un problème où les données encodées incluent des barres obliques inverses indésirables. Ce problème provient d'une inadéquation potentielle entre le processus d'encodage JSON et l'analyse ultérieure.

Cause première des barres obliques inverses

L'encodage JSON standard en PHP échappe aux caractères spéciaux, y compris les barres obliques inverses. , pour garantir l’intégrité des données. Cependant, si les données codées sont traitées ultérieurement par des fonctions JavaScript externes telles que .parseJSON, cela peut entraîner une double fuite involontaire.

Solution : option JSON_UNESCAPED_SLASHES

Pour résoudre Pour résoudre ce problème, vous pouvez spécifier explicitement l'option JSON_UNESCAPED_SLASHES comme deuxième paramètre de json_encode. Cette option indique à PHP de ne pas échapper aux barres obliques inverses pendant l'encodage, éliminant ainsi le problème de double échappement.

$result = [
    'logo_url' => 'http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg',
    'img_id' => 54,
    'feedback' => [
        'message' => 'File uploaded',
        'success' => 1
    ]
];

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

Ce code produira un JSON valide sans aucune barre oblique inverse supplémentaire :

{"logo_url":"http://mysite.com/uploads/gallery/7f/3b/f65ab8165d_logo.jpeg","img_id":"54","feedback":{"message":"File uploaded","success":true}}
Copier après la connexion

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!

source:php.cn
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