Sample code for 30+ languages & platforms
Delphi ActiveX

JSON Escape and Unescape a String

Demonstrates how to JSON escape or unescape a string.

Chilkat Delphi ActiveX Downloads

Delphi ActiveX
uses
    Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
    Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, Chilkat_TLB;

...

procedure TForm1.Button1Click(Sender: TObject);
var
sb: TChilkatStringBuilder;

begin
sb := TChilkatStringBuilder.Create(Self);

sb.Append('backslash: \\\\, A: \\u0041');
Memo1.Lines.Add(sb.GetAsString());

// The output is:
//    backslash: \\, A: \u0041

// The keyword "json" can be used
// to escape and unescape.  To escape is to encode.  To unescape is to decode.

// Unescape (decode) the string in sb.
sb.Decode('json','utf-8');
Memo1.Lines.Add(sb.GetAsString());

// After JSON unescaping:
//    backslash: \, A: A

// Now JSON escape the string.
sb.Encode('json','utf-8');
Memo1.Lines.Add(sb.GetAsString());

// After JSON escaping:
//    backslash: \\, A: A

// Note: The "A" is not escaped to "\u0041" because there is no need.
// The "\uXXXX" format would be produced for non-printable control chars.
end;