Delphi-PRAXiS
Seite 1 von 4  1 23     Letzte »    

Delphi-PRAXiS (https://www.delphipraxis.net/forum.php)
-   Object-Pascal / Delphi-Language (https://www.delphipraxis.net/32-object-pascal-delphi-language/)
-   -   Delphi Zeichenkette zerlegen... (https://www.delphipraxis.net/160065-zeichenkette-zerlegen.html)

delphinia 26. Apr 2011 10:36

Delphi-Version: 5

Zeichenkette zerlegen...
 
Hallo ihr Lieben,

ich habe eine Webseite die einen Rückgabewert aus einer Ajax Abfrage wiedergibt, die wie folgt ausschaut!

Code:
{
   "ResultData":
      [
         {"PostId":"421386","data":{"PostId":"421386","title":"Mein Title"}},
         {"PostId":"421386","data":{"PostId":"421386","title":"Mein Title"}},
         {"PostId":"421386","data":{"PostId":"421386","title":"Mein Title"}},
         {"PostId":"421386","data":{"PostId":"421386","title":"Mein Title"}}
      ]
}
Wie könnte ich das ab besten zuverlässig sauber in ein Array oder in was auch immer zerlegen, damit ich auf die einzelnen Werte Zugriff bekomme?!


Danke Euch für Eure Tipps....

Zacherl 26. Apr 2011 10:44

AW: Zeichenkette zerlegen...
 
Als Container einfach ein solches Array:

Delphi-Quellcode:
type
  MyRecord = record
    Id: Integer;
    Title: String;

var
  MyArray = array of MyRecord;
Und parsen kannst du die Rückgabe eigentlich recht einfach mit Pos(), Copy(), Delete() und einer schönen Schleife :)

Deep-Sea 26. Apr 2011 10:54

AW: Zeichenkette zerlegen...
 
Das Format was du da hast nennt sich JSON. Also bietet sich da ein JSON-Parser an :wink:

delphinia 26. Apr 2011 10:57

AW: Zeichenkette zerlegen...
 
ahhh hey super danke - wusste ich nicht das es dafür sogar einen namen gibt!

THANKS! Werde nun sicher weiterkommen - :thumb:

schlecki 26. Apr 2011 10:58

AW: Zeichenkette zerlegen...
 
konkret kann ich da SuperObject empfehlen. Sehr einfaches Handling, ermöglicht einfachstes Einlesen, Bearbeiten und Speichern von JSON-Daten.

himitsu 26. Apr 2011 12:18

AW: Zeichenkette zerlegen...
 
In "neueren" Delphis wäre eine JSON-Implementation schon vorhanden.

Ich weiß nur nicht seit wann es das gibt, da sowas in der OH nie erwähnt wird. :wall:
Aber im D5 des TE wird's das vernutlich noch nicht geben. :oops:

Deep-Sea 26. Apr 2011 12:28

AW: Zeichenkette zerlegen...
 
Zitat:

Zitat von himitsu (Beitrag 1096980)
In "neueren" Delphis wäre eine JSON-Implementation schon vorhanden.

Oh, dann ist mein selbst gemachter Parser bald überflüssig? :cry:
Neiiin, niemals. Mein Parser hat eine Zutat, die der von Borland wohl nicht hat: Liebe :P

delphinia 26. Apr 2011 12:30

AW: Zeichenkette zerlegen...
 
nicht nur das es das dort nicht gibt ich kann keine der 3 JSON Parser nutzen da die alle für Ü D5 gemacht sind!

"superobjectv" habe ich versucht, da fehlen mir Units (msxml zB für das DEMO Projekt) und mein D5 kennt auch nicht:VShortInt und weiter bin ich beim Compelieren nicht gekommen um zu wissen was NOCH fehlt :(


"lkJSON" ist total murks weil kein UTF8String, DupeString, keine Unit StrUtils - und wer weiss was noch fehlt


Tja

himitsu 26. Apr 2011 12:31

AW: Zeichenkette zerlegen...
 
Zitat:

Zitat von Deep-Sea (Beitrag 1096984)
Neiiin, niemals. Mein Parser hat eine Zutat, die der von Borland wohl nicht hat: Liebe :P

Keine Sorge.
Die Speicherverwaltung, die Verwendung und andere Aspekte der Emba-Version sind .... sagen wir mal ... nja, die sind etwas krank gewöhnungsbedürftig.

[add]
msxml sollte vorhanden möglich sein, da dieses nur eine Header-Unit ist und die Funktionalität im Windows steckt.
Das gibt es ferige Units runterzuladen und es gibt Beschreibungen, wir du diese unit selber importierst/erstellst.
(sollte sich alles in Google oder der Forensuche finden lassen)

Und fast Alles, was ANSI kann, das kann man auch für UTF8 misbrauchen.

delphinia 26. Apr 2011 12:36

AW: Zeichenkette zerlegen...
 
Ok msxml ist nun vorhanden! :) danke

Aber das war ja nur das Problem bei der DEMO -- aber der parser selbst lässt sich aufgrund zahlreicher fehlender Dinge nicht compilieren...


Alle Zeitangaben in WEZ +1. Es ist jetzt 19:10 Uhr.
Seite 1 von 4  1 23     Letzte »    

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