Delphi-PRAXiS

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Algorithmen, Datenstrukturen und Klassendesign (https://www.delphipraxis.net/78-algorithmen-datenstrukturen-und-klassendesign/)
-   -   JSON-Objekt/Array zu "normalem" Objekt/Array (https://www.delphipraxis.net/154077-json-objekt-array-zu-normalem-objekt-array.html)

Durek 26. Aug 2010 20:53

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: http://www.progdigy.com/?page_id=6

Vielen Dank schonmal!

mkinzler 26. Aug 2010 21:03

AW: JSON-Objekt/Array zu "normalem" Objekt/Array
 
Die Klasse bietet doch Methoden dafür

Durek 26. Aug 2010 21:17

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?

mkinzler 26. Aug 2010 21:25

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;

Durek 26. Aug 2010 22:06

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"

mkinzler 26. Aug 2010 22:09

AW: JSON-Objekt/Array zu "normalem" Objekt/Array
 
Was für ein Typ hat der Aaray? Nicht TSuperArray?

Durek 26. Aug 2010 22:28

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.

Stevie 26. Aug 2010 23:03

AW: JSON-Objekt/Array zu "normalem" Objekt/Array
 
Unter Zuhilfenahme der Anleitung auf der Google Code Seite.

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);

Durek 26. Aug 2010 23:26

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 16:19 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