Winsoft JavaScript Object Notation (JSON) Library v4.4 for Delphi/C++ Builder 5 - 10.3 Full Source

Winsoft JavaScript Object Notation (JSON) Library v4.4 for Delphi/C++ Builder 6 - 10.3 Full Source

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.