Maison  >  Article  >  interface Web  >  Quels sont les caractères d'échappement de json

Quels sont les caractères d'échappement de json

(*-*)浩
(*-*)浩original
2019-06-01 13:32:399445parcourir

La séquence d'évasion est également appelée entité de personnage. En HTML, il existe deux raisons de définir des chaînes d'échappement : La première raison est que des symboles tels que "<" et ">" ont été utilisés pour représenter les balises HTML, ils ne peuvent donc pas être directement utilisés comme texte dans le texte. .les symboles à utiliser. Afin d'utiliser ces symboles dans les documents HTML, vous devez définir leurs chaînes d'échappement. Lorsque l’interpréteur rencontre une telle chaîne, il l’interprète comme un véritable caractère. Lorsque vous saisissez des chaînes d'échappement, suivez strictement les règles relatives aux lettres majuscules et minuscules. La deuxième raison est que certains caractères ne sont pas définis dans le jeu de caractères ASCII et doivent donc être représentés par des chaînes d'échappement.

Quels sont les caractères d'échappement de json

En fait, tous les langages de programmation ont des caractères d'échappement pour essentiellement deux raisons :

1. Utiliser des caractères d'échappement pour représenter. caractères définis dans le jeu de caractères, tels que les caractères de contrôle et les caractères de retour chariot et de saut de ligne en ASCll, ces caractères n'ont pas de codes de texte prêts à l'emploi. Il ne peut donc être représenté que par des caractères d'échappement.

2. Certains caractères spécifiques sont définis comme caractères spéciaux dans le langage d'édition.

Ces caractères ont perdu leur signification originelle car ils sont définis à des fins particulières. Par exemple, en HTML, < est défini par HTML comme le début d'une balise, donc lorsque nous passons à <, HTML le traitera comme le début au lieu d'un <. Un autre exemple est celui des guillemets doubles ("), qui sont définis par PHP comme balises périphériques des chaînes. Ainsi, si vous êtes entre guillemets doubles et que vous souhaitez utiliser des guillemets doubles, vous ne pouvez utiliser que des caractères d'échappement. Sinon, PHP le fera. signaler une erreur

On peut également voir de ce qui précède que s'échapper n'est rien de plus que deux situations :

1 : Convertir des caractères ordinaires à des fins spéciales, généralement en programmation langues. Utilisé pour représenter des caractères qui ne peuvent pas être affichés directement, tels que la touche retour, la touche entrée, etc.

2 : Utilisé pour reconvertir les caractères à signification spéciale vers leur signification d'origine. Également utilisé dans les expressions régulières. Les langages de script sont faiblement typés. Certains langages, comme HTML, ne sont pas des langages de programmation, mais des langages de balisage. Certains langages n'ont qu'un seul type, comme les langages de script shell, dans ces langages, les chaînes ne sont pas entre guillemets "". , ou peut être laissé sans guillemets. " ", il est donc parfois nécessaire d'échapper des caractères pour indiquer que l'identité d'un personnage à ce moment est un caractère normal, plutôt qu'un métacaractère avec une signification particulière

Dans. De plus, pour la sécurité du site Web, avant que les données ne soient écrites dans la base de données, des caractères d'échappement (fonctions) seront utilisés pour échapper à certains caractères sensibles. Cela peut empêcher les personnes ayant des arrière-pensées d'injecter des attaques à l'aide de symboles spéciaux.

La chaîne JSon est enregistrée dans le fichier après avoir été sérialisée. Lors de la lecture d'une chaîne, elle ne peut pas être directement analysée dans un objet JSON à l'aide de JSON.parse(), car il s'agit d'une chaîne et non d'un format d'objet JSON légal

Par exemple, ce qui suit. La chaîne JSON est enregistrée dans le fichier et ne peut pas être analysée directement lors de la lecture :

“{\"resourceId\":\"dfead70e4ec5c11e43514000ced0cdcaf\",\"properties\":{\"process_id\":\"process4\",\"name\":\"\",\"documentation\":\"\",\"processformtemplate\":\"\"}}"

Il n'y a aucun problème si cette chaîne apparaît. dans le code, car la barre oblique inverse signifie évasion, mais s'il s'agit de Si le fichier texte est lu directement comme ceci, il ne peut pas être analysé directement avec JSON.parse(). Il doit être désérialisé et les barres obliques inverses sont éliminées. J'aime écrire une classe d'outils pour ce faire. Il existe des outils pratiques et rapides qui peuvent le faire. Nous n'avons pas besoin de réinventer la roue

Vous pouvez utiliser directement le package d'outils common.lang d'Apache (utilisez l'outil). classe : org.apache.commons.lang. StringEscapeUtils).

L'exemple est le suivant :

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
Article précédent:Qu'est-ce que WeChat jsArticle suivant:Qu'est-ce que WeChat js