Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   JSONArray aus einer Value (https://www.delphipraxis.net/205635-jsonarray-aus-einer-value.html)

Hobbycoder 30. Sep 2020 15:36

JSONArray aus einer Value
 
Hi,
leider stehe ich mit dem danzen JSON-Parsen etwas auf dem Kriegsfuß und benötige mal eure Hilfe.

Ich will aus folgendem JSON:
Code:
{"Data":[{"guid":"{2F4C80CC-DC24-4AC9-838D-61F59E7659E2}","name":"Name1"},{"guid":"{739C25E7-4080-4054-A747-8F12F5E7BFCB}","name":"Name2"},{"guid":"{429A5212-CE8C-43AC-823A-45E9ABFF9C8F}","name":"Name3"},{"guid":"{360580D4-E1DA-4D05-A416-7B33EB8E683C}","name":"Name4"}]}
Das Array herauslösen und mir davon eine Liste erstellen.

Mein Ansatz funktioniert nicht. JArray ist immer nil.

Delphi-Quellcode:
var
  JObj: TJSonObject;
  JArrayItem: TJSONValue;
  JArray: TJSONArray;
begin
  JObj:=TJSONObject.Create;
  JObj.ParseJSONValue(RecText);
  JArray:=TJSONArray.Create;
  JArray:=JObj.Values['Data'] as TJSONArray;
  for JArrayItem in JArray do
  begin
    Test:=TTest.Create;
    Test.Guid:=(JArrayItem as TJSONObject).GetValue('guid').ToString;
    Test.Name:=(JArrayItem as TJSONObject).GetValue('name').ToString;
    TestList.Add(Test);
  end;
Meine Vermutung ist, dass mein Ansatz völlig verkehrt ist.
Kann mir einer sagen wie das richtig geht.

Der schöne Günther 30. Sep 2020 15:51

AW: JSONArray aus einer Value
 
ParseJsonValue(..) ist eine Klassenfunktion die ein TJsonValue zurückgibt.

Hobbycoder 30. Sep 2020 16:00

AW: JSONArray aus einer Value
 
Danke für den Anstoß. Jetzt geht's ;-)


Alle Zeitangaben in WEZ +1. Es ist jetzt 02:46 Uhr.

Powered by vBulletin® Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
LinkBacks Enabled by vBSEO © 2011, Crawlability, Inc.
Delphi-PRAXiS (c) 2002 - 2023 by Daniel R. Wolf, 2024 by Thomas Breitkreuz