AGB  ·  Datenschutz  ·  Impressum  







Anmelden
Nützliche Links
Registrieren
Thema durchsuchen
Ansicht
Themen-Optionen

TJson.Format(..) fehlerhaft?

Ein Thema von Der schöne Günther · begonnen am 7. Jun 2017 · letzter Beitrag vom 8. Jun 2017
 
Der schöne Günther

Registriert seit: 6. Mär 2013
6.196 Beiträge
 
Delphi 10 Seattle Enterprise
 
#1

TJson.Format(..) fehlerhaft?

  Alt 7. Jun 2017, 10:41
Delphi-Version: 10 Seattle
Im Bugtracker habe ich nichts gefunden, aber TJson.Format(..) ist zumindest in 10 Seattle kaputt. Kann das jemand mit Berlin/Tokyo immer noch bestätigen?

Button1 und Memo1 aufs Formular, dann
Delphi-Quellcode:
uses
  Rest.Json, System.Json;

{$R *.dfm}

procedure TForm17.Button1Click(Sender: TObject);
var
   objects: TArray<TObject>;
   arrayIndex: Integer;

   objectAsJson: TJsonValue;
   objectAsString: String;
begin
   objects := TArray<TObject>.Create(
      TObject.Create(),
      TObject.Create(),
      TObject.Create()
   );

   for arrayIndex := Low(objects) to High(objects) do
      begin
         objectAsJson := TJson.ObjectToJsonObject(objects[arrayIndex]);
         try
            objectAsString := TJson.Format(objectAsJson);
            Memo1.Lines.Append(objectAsString);
         finally
            objectAsJson.Destroy();
         end;
      end;
end;
TJson.Format liefert beim ersten mal {} , beim zweiten mal allerdings {}, {} und beim dritten mal {}, {}, {} .

Erwartet wäre drei mal {} Das liegt anscheinend daran dass in TJson.Format(..) (Rest.Json.pas) munter gesagt wird Result := Result + ... obwohl Result noch nie zugewiesen wurde. Wenn die Methode das zweite mal betreten wird ist Result noch mit dem Ergebnis des ersten Durchlaufs belegt.


Kann jemand prüfen ob das ab 10.1 Berlin und aufwärts immer noch auftritt?
  Mit Zitat antworten Zitat
 


Forumregeln

Es ist dir nicht erlaubt, neue Themen zu verfassen.
Es ist dir nicht erlaubt, auf Beiträge zu antworten.
Es ist dir nicht erlaubt, Anhänge hochzuladen.
Es ist dir nicht erlaubt, deine Beiträge zu bearbeiten.

BB-Code ist an.
Smileys sind an.
[IMG] Code ist an.
HTML-Code ist aus.
Trackbacks are an
Pingbacks are an
Refbacks are aus

Gehe zu:

Impressum · AGB · Datenschutz · Nach oben
Alle Zeitangaben in WEZ +1. Es ist jetzt 15:49 Uhr.
Powered by vBulletin® Copyright ©2000 - 2025, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024-2025 by Thomas Breitkreuz