Sample code for 30+ languages & platforms
Delphi DLL

JSON Escape and Unescape a String

Demonstrates how to JSON escape or unescape a string.

Chilkat Delphi DLL Downloads

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

...

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

begin
sb := CkStringBuilder_Create();

CkStringBuilder_Append(sb,'backslash: \\\\, A: \\u0041');
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));

// 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.
CkStringBuilder_Decode(sb,'json','utf-8');
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));

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

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

// 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.

CkStringBuilder_Dispose(sb);

end;