![]() |
JSON-Objekt/Array zu "normalem" Objekt/Array
Hallo Community von Delphi-Praxis,
ich habe schon in "delphi-forum.de" nachgefragt aber dort kam keine Antwort, hier ist wohl etwas mehr los. Mein Vorhaben: Ich lese einen String aus einer MySQL-Tabelle aus. Den String kriege ich auch ohne Probleme, dieser String ist allerdings ein JSON-String, welcher durch die JSON Funktionen zu einem JSON-Objekt/Array wird. Damit ich dessen Elemente allerdings ganz normal mit Schleife oder Index auslesen kann, brauche ich allerdings einen "normalen" Array. ich hoffe ich habe mich richtig ausgedrückt. Die Klasse hier: ![]() Vielen Dank schonmal! |
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Die Klasse bietet doch Methoden dafür
|
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Du meinst die Verarbeitung mit diesem neuen Datentyp? Naja ich bin ein Delphianfänger, bin erst paar Tage dran und habe Probleme mich immer sofort an neue Methoden zu versuchen, ich habe auch öfters nach Beispielen gesucht, aber keine guten gefunden. Oder meinst Du es gibt Methoden zur Konvertierung?
|
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Delphi-Quellcode:
for i := 0 to SuperArray.Length - 1 do
begin SuperObject := SuperArray.GetO( i); bzw. GetI, GetB, GetS, ... end; |
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
ja, wenn das so einfach wäre :( denn mit "Length" krieg ich hier leider keine Anzahl von Elementen raus, er meckert dann mit "Undefinierter Bezeichner"
|
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Was für ein Typ hat der Aaray? Nicht TSuperArray?
|
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Also ich habe vorher "TSuperObject" gehabt, hab den in TSuperArray geändert aber da meckert er wenn ich
obj := TSuperObject.parseString(PWideChar(maps[i]),true); (in maps[i] steckt der JSON-String) anwende. Wenn ich obj := TSuperArray.parseString(PWideChar(maps[i]),true); versuche, meckert er dass es den Bezeichner parseString nicht gibt. mit obj := TSuperArray(TSuperObject.parseString(PWideChar(map s[i]),true)); spuckt er mir bei obj.Length "4599200" Ist aber viel zu hoch. |
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Unter Zuhilfenahme der
![]()
Delphi-Quellcode:
var
s: string; o: ISuperObject; i: Integer; begin s := '{ "accounting" : [ ' + '{ "firstName" : "John", ' + '"lastName" : "Doe", ' + '"age" : 23 }, ' + '{ "firstName" : "Mary", ' + '"lastName" : "Smith", ' + '"age" : 32 } ' + '] }'; o := SO(s).O['accounting']; for i := 0 to o.AsArray.Length - 1 do ShowMessage(o.AsArray[i].AsString); |
AW: JSON-Objekt/Array zu "normalem" Objekt/Array
Die Endung .AsString hat mir gefehlt. Vielen Dank mit dieser Änderung kann ich schon viel anfangen ;)
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 21:30 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 by Thomas Breitkreuz