Winsoft JavaScript Object Notation (JSON) Library v4.4 for Delphi/C++ Builder 6 - 10.3 Full Source
Winsoft jаvascript Object Notation (JSON) Library v4.4 for Delphi/C++ Builder 6 - 10.3 Full Source
Delphi and C++ Builder jаvascript Object Notation (JSON) library.. full JSON supported: literals, numbers, strings, arrays and objects.
Read and modify JSON files
Create new JSON files
Full JSON supported: literals, numbers, strings, arrays and objects
Date/time encoding and decoding supported
Customizable output
Provides in-memory and streaming JSON parsers and generators
Supports Windows, macOS, iOS and Android
Available for Delphi/C++ Builder 5 - 10.3 and Lazarus 2.0.6
Source code included in registered version
Royalty free distribution in applications
Read and modify existing 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;
Create 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;
Use fast, streaming TJsonWriter to create json file without in-memory overhead of TJson objects:
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;
Use fast, streaming TJsonReader to read json file without in-memory overhead of TJson objects:
var
JsonItem: TJsonItem;
Prefix: WideString;
with TJsonReader.Create('c:\data.json', True, True) do
try
repeat
JsonItem := Read;
if IsMember then
Prefix := '"' + MemberName + '" : '
else
Prefix := '';
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;
Only for V.I.P
Warning! You are not allowed to view this text.