System.JSON.Utils.TJsonTextUtils.WriteEscapedString

提供: RAD Studio API Documentation
移動先: 案内検索

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

プロパティ

種類 可視性 ソース ユニット
procedure
function
public
System.JSON.Utils.pas
System.JSON.Utils.hpp
System.JSON.Utils TJsonTextUtils


説明

指定された文字列から JSON 文字列を生成します。

WriteEscapedString が受け取るパラメータは次のとおりです。

  • WriterWriteEscapedString で結果となる JSON 文字列の生成に使用されるテキスト ライタです。
  • Str: JSON 文字列に変換される文字列です。
  • AppendDelimiters: 結果として得られる文字列を引用文字で囲む(True)か囲まない(False)かを指定します。
  • DelimiterAppendDelimitersTrue の場合に結果の JSON 文字列の先頭と末尾に追加される引用文字です。結果として得られる JSON 文字列が適切な JSON 文字列となるには、この文字が一重引用符(')か二重引用符(")のどちらかでなければなりません。
  • CharEscapeFlags文字エスケープ フラグの配列です。詳細については、この後の「文字エスケープ」を参照してください。
  • StringEscapeHandlingWriteEscapedString で使用される文字エスケープの種類を指定します。
  • WriteBufferWriteEscapedString の内部で使用されるバッファです。

文字エスケープ

WriteEscapedString でエスケープする文字は次のとおりです。

  • CharEscapeFlagsTrue フラグが含まれている文字。
  • 対応するフラグが CharEscapeFlags にない文字(StringEscapeHandlingTJsonStringEscapeHandling.EscapeNonAscii の場合)。

WriteEscapedString では、Unicode エスケープ シーケンスを使ってほとんどの文字をエスケープします。次の表には、WriteEscapedString でそれとは異なるエスケープを行う文字のみ示します。

文字 エスケープされた文字

タブ

\t

改行

\n

復帰(キャリッジ リターン)

\r

改ページ

\f

バックスペース

\b

バックスラッシュ

\\

二重引用符*

\"

一重引用符*

\'

* StringEscapeHandlingTJsonStringEscapeHandling.EscapeHtml の場合、WriteEscapedString では、Unicode エスケープ シーケンスを使って一重引用符と二重引用符をエスケープします。

関連項目