JSON Library 3.6 Full Source
JSON Library 3.6 Full Source | 4 Mb
Delphi and C++ Builder Jav@Script Object Notation (JSON) library.
Features
Read and modify existing JSON files
Create new JSON files
Full JSON supported: literals, numbers, strings, arrays and objects
Date/time encoding and decoding supported
Customizable output
Supports Windows 32, Windows 64, OS X, iOS and Android
Available for Delphi/C++ Builder 5 - 10 and Lazarus 1.4.4
Source code included in full version
Royalty free distribution in applications
Read and modify existing json files:
var Json: TJson;
with TJsonParser.Create do
try
Json := ParseUtf8File('c:\data.json');
try
ShowMessage(Json.ToString);
finally
if not Json.IsLiteral then
Json.Free;
end;
finally
Free;
end;
Create new json files:
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;
with TJsonParser.Create do
try
Json := ParseUtf8File('c:\data.json');
try
ShowMessage(Json.ToString);
finally
if not Json.IsLiteral then
Json.Free;
end;
finally
Free;
end;
Create new json files:
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;
Version 3.6
slash character is not escaped
Free method can be called on any TJson object, including shared TJsonLiteral
[/b]
[b] Only for V.I.P
Warning! You are not allowed to view this text.