Delphi DLL
Delphi DLL
JSON Hex Encoding
See more JSON Examples
Let's say your JSON contains content that is hex encoded like this: \u05d1\u05d3\u05d9\u05e7This example shows how to get the decoded string.
Chilkat Delphi DLL Downloads
uses
Winapi.Windows, Winapi.Messages, System.SysUtils, System.Variants, System.Classes, Vcl.Graphics,
Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.StdCtrls, JsonObject, StringBuilder;
...
procedure TForm1.Button1Click(Sender: TObject);
var
success: Boolean;
s: PWideChar;
json: HCkJsonObject;
sb: HCkStringBuilder;
begin
success := False;
s := '{ "example": "\\u05d1\\u05d3\\u05d9\\u05e7" }';
json := CkJsonObject_Create();
success := CkJsonObject_Load(json,s);
// When getting the member data, it is automatically decoded.
Memo1.Lines.Add('member data: ' + CkJsonObject__stringOf(json,'example'));
// Output:
// member data: בדיק
// When getting the full JSON, it remains encoded. This is expected and intentional.
Memo1.Lines.Add('full JSON: ' + CkJsonObject__emit(json));
// Output:
// full JSON: {"example":"\u05d1\u05d3\u05d9\u05e7"}
// To get the full JSON without the encoding, you can decode manually.
sb := CkStringBuilder_Create();
CkJsonObject_EmitSb(json,sb);
// The hex encoding used by JSON is utf-8.
CkStringBuilder_Decode(sb,'json','utf-8');
Memo1.Lines.Add(CkStringBuilder__getAsString(sb));
// Output:
// {"example":"בדיק"}
CkJsonObject_Dispose(json);
CkStringBuilder_Dispose(sb);
end;