Winsoft JSON v4.9 Full Source for Delphi/C++ Builder 5 - 11 and Lazarus
Winsoft JSON v4.9 Full Source for Delphi/C++ Builder 5 - 11 and Lazarus
Delphi and C++ Builder jаvascript Object Notation (JSON) library.
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 - 11 and Lazarus 2.0.12
Source code included in registered version
Royalty free distribution in applications
Read 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;
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;
Only for V.I.P
Warning! You are not allowed to view this text.