Json形式のテキスト出力時にエスケープしない方法について

解決


のぶ  2024-01-04 04:14:17  No: 151350  IP: 192.*.*.*

Json形式のテキスト出力時に値をUnicode文字列に変換しないといけないのですが、
サンプルロジックを実行すると「\」が以下のようにエスケープされてしまいます。
【サンプルの結果】{"text":"\\u30C6\\u30B9\\u30C8"}
TJsonObjectでは、以下のように「\」のエスケープを無効化して出力する方法はないのでしょうか?
【希望する結果】{"text":"\u30C6\u30B9\u30C8"}

こちらに同じ質問されている人がおられましたが、回答内容がJSONデータの整形のサンプルのようでしたので、参考になりませんでした。
https://qiita.com/TJiJi/questions/449a71f159433d18a68f

■サンプル
procedure TForm1.Button1Click(Sender: TObject);
var
  LJson: TJSONObject;
  LUnicodeString: UnicodeString;
  s: string;
  I: integer;
begin
  LJson := TJSONObject.Create;
  try
    LUnicodeString := 'テスト';
    for I := 1 to length(LUnicodeString) do begin
      s := s + '\u' + IntToHex(ord(LUnicodeString[I]));
    end;
    LJson.AddPair('text', s);
    memo1.Lines.Clear;
    memo1.Lines.Add(LJson.ToString);
  finally
    LJson.Free;
  end;
end;

編集 削除
AAAAA  2024-01-04 05:05:01  No: 151351  IP: 192.*.*.*

    S := 'テスト';
    LJson.AddPair('text', s);
    Memo1.Lines.Add(LJson.ToString);  //{"text":"テスト"}
    Memo1.Lines.Add(LJson.ToJSON);    //{"text":"\u30C6\u30B9\u30C8"}

テストは日本語じゃないのか

編集 削除
のぶ  2024-01-04 05:26:17  No: 151352  IP: 192.*.*.*

AAAAAさん
ToStringとToJSONの違いを全く理解しておりませんでした。
教えていただいたシンプルなロジックでうまくいきました。
大変ありがとうございました。

編集 削除