Delphi and C++Builder JavaScript Object Notation (JSON) library
- Read, modify, and create JSON files
- Comprehensive JSON support for literals, numbers, strings, arrays, and objects
- Date/time encoding and decoding supported
- Customizable output options for tailored JSON generation
- In-memory and streaming JSON parsers and generators
- Cross-platform compatibility: Windows, macOS, Linux, iOS, and Android
- Supports Delphi/C++Builder versions 5 - 13 and Lazarus 4.2
- Includes source code in the registered version
- Royalty-free distribution in applications
Reads a JSON file:
var Json: TJson;
with TJsonParser.Create do
try
Json := ParseUtf8File('c:\data.json');
try
ShowMessage(Json.ToString);
finally
Json.Free;
end;
finally
Free;
end;
Creates a new JSON file:
var
MyArray: TJsonArray;
MyObject: TJsonObject;
with TJsonObject.Create do
try
SetNull('Null');
SetTrue('True');
SetFalse('False');
SetNumber('Number', 1.23);
SetString('String', 'hello');
SetDateTime('DateTime', Now);
MyArray := SetArray('Array', 3);
MyArray.SetString(0, 'First item');
MyArray.SetString(1, 'Second item');
MyArray.SetNumber(2, 3.21);
MyObject := SetObject('Object');
MyObject.SetString('First Member', 'Hello');
MyObject.SetString('Second Member', 'World');
MyObject.SetFalse('Third Member');
MyObject.SetTrue('Fourth Member');
MyObject.SetNumber('Other Member', 1.11);
ShowMessage(ToString);
ToUtf8File('c:\new.json');
finally
Free;
end;
Utilizes TJsonWriter for efficient, streaming JSON file creation:
with TJsonWriter.Create('c:\data.json') do
try
BeginObject;
WriteNull('Null');
Write('True', True);
Write('False', False);
Write('Number', 1.23);
Write('String', 'hello');
Write('DateTime', Now, 0);
BeginArray('Array');
Write('First item');
Write('Second item');
Write(3.21);
EndArray;
BeginObject('Object');
Write('First Member', 'Hello');
Write('Second Member', 'World');
Write('Third Member', False);
Write('Fourth Member', True);
Write('Other Member', 1.11);
EndObject;
EndObject;
Check;
finally
Free;
end;
Utilizes TJsonReader for efficient, streaming JSON file reading:
var
JsonItem: TJsonItem;
Prefix: WideString;
with TJsonReader.Create('c:\data.json', True, True) do
try
repeat
JsonItem := Read;
Prefix := '(' + IntToStr(Row) + ', ' + IntToStr(Column) + '): ';
if IsMember then
Prefix := Prefix + '"' + MemberName + '" : ';
case JsonItem of
itNull: ShowMessage(Prefix + 'null');
itFalse: ShowMessage(Prefix + 'false');
itTrue: ShowMessage(Prefix + 'true');
itNumber: ShowMessage(Prefix + FloatToStr(NumberValue));
itString: ShowMessage(Prefix + '"' + StringValue + '"');
itBeginArray: ShowMessage(Prefix + '[');
itEndArray: ShowMessage(Prefix + ']');
itBeginObject: ShowMessage(Prefix + '{');
itEndObject: ShowMessage(Prefix + '}');
end;
until JsonItem = itEof;
finally
Free;
end;
Order JSON library $80 USD (license for one developer)
Order JSON multi-license $240 USD (license for all developers in company)
Order JSON year upgrades $40 USD (registered users only)
Order JSON year upgrades multi-license $120 USD (registered multi-license users only)