System.JSON.Utils.TJsonTextUtils.WriteEscapedString
Delphi
class procedure WriteEscapedString(const Writer: TTextWriter; const Str: string; Delimiter: Char; AppendDelimiters: Boolean; const CharEscapeFlags: array of Boolean; StringEscapeHandling: TJsonStringEscapeHandling; var WriteBuffer: TCharArray);
C++
__classmethod void __fastcall WriteEscapedString(System::Classes::TTextWriter* const Writer, const System::UnicodeString Str, System::WideChar Delimiter, bool AppendDelimiters, const bool *CharEscapeFlags, const int CharEscapeFlags_High, System::Json::Types::TJsonStringEscapeHandling StringEscapeHandling, System::DynamicArray<System::WideChar> &WriteBuffer);
Propriétés
Type | Visibilité | Source | Unité | Parent |
---|---|---|---|---|
procedure function |
public | System.JSON.Utils.pas System.JSON.Utils.hpp |
System.JSON.Utils | TJsonTextUtils |
Description
Génère une chaîne JSON à partir d'une chaîne donnée.
WriteEscapedString reçoit les paramètres suivants :
Writer
est l'éditeur de texte utilisé par WriteEscapedString pour générer la chaîne JSON résultante.Str
est la chaîne à convertir en chaîne JSON.AppendDelimiters
détermine si la chaîne résultante est encadrée par des caractères de guillemets simples ou doubles (True
) ou non (False
).Delimiter
est le caractère de guillemets simples ou doubles à ajouter au début et à la fin de la chaîne JSON résultante siAppendDelimiters
vautTrue
. Pour que la chaîne JSON résultante soit une chaîne JSON appropriée, ce caractère doit être un guillemet simple (') ou un guillemet double (").CharEscapeFlags
est un tableau d'indicateurs d'échappement de caractère. Pour de plus amples informations, voir Echappement de caractère ci-dessous.StringEscapeHandling
détermine le type d'échappement de caractère utilisé par WriteEscapedString.WriteBuffer
est un tampon utilisé par WriteEscapedString en interne.
Echappement de caractère
WriteEscapedString place dans une séquence d'échappement :
- Les caractères qui ont un indicateur
True
dansCharEscapeFlags
. - Les caractères qui n'ont pas d'indicateur correspondant dans
CharEscapeFlags
, siStringEscapeHandling
vaut TJsonStringEscapeHandling.EscapeNonAscii.
WriteEscapedString place la plupart des caractères utilisant des séquences d'échappement Unicode dans des séquences d'échappement. Le tableau suivant affiche les seuls caractères que WriteEscapedString place dans une séquence d'échappement différemment :
Caractère | Caractère placé dans une séquence d'échappement |
---|---|
Tabulation |
|
Nouvelle ligne |
|
Retour chariot |
|
Saut de page |
|
Retour arrière |
|
Barre oblique inverse |
|
Guillemet double* |
|
Guillemet simple* |
|
- * Si
StringEscapeHandling
vaut TJsonStringEscapeHandling.EscapeHtml, WriteEscapedString place des guillemets simples et des guillemets doubles dans une séquence d'échappement en utilisant des séquences d'échappement Unicode.