"> Winsoft JSON 4.4 for Delphi 10 - 10.3 | Delphifan Portal
Winsoft JSON 4.4 for Delphi 10 – 10.3

Winsoft JSON 4.4 for Delphi 10 – 10.3

  • 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;
    • 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 6 – 10.3 and Lazarus 2.0.6
    • source code included in registered version
    • royalty free distribution in applications
CATEGORIES
TAGS
Share This

COMMENTS