![]() |
JSON parsen mit mehreren Eigenschaften pro Object
Hallo Delphi-Praxis,
ich nutze eine API um Bilder auf eine Webseite zu laden, diese API gibt mir einen JSON-String zurück, den ich nicht so richtig geparsed bekomme. Sobald ein Objekt mehrere Eigenschaft hat kann ich diese nicht mehr Abfragen. Im Netz findet man die Unit "uLkJSON" (sourceforge.net/projects/lkjson/), nach diesem Beispielprojekt (sample 3) hab ich einen Versuch gestartet:
Delphi-Quellcode:
Ich weiß nicht genau ob der Schlüssel public_url in Anführungszeichen gehört oder nicht, an der Speicher Exception ändert das aber auch nichts.
uses
uLkJSON; var JSON, s2: String; js,xs:TlkJSONobject; ws: TlkJSONstring; JSON := '{"image":{"size":293229,"created_at":'+ '"2011-01-29T15:47:43Z","api_client_id":4,"title":null,'+ '"content_type":"image/png","updated_at":"2011-01-29T15:47:43Z",'+ '"user_id":64,"height":256,"filename":"Test.PNG",'+ '"public_view_url":"http://pickhost.eu/view/0004/2631/Test.PNG",'+ '"description":null,"visibility":"private","public_url":'+ '"http://pickhost.eu/images/0004/2631/Test.PNG","width":631}}'; // Der JSON-String der API js := TlkJSON.ParseText(JSON) as TlkJSONobject; s2 := vartostr(js.Field['"public_url"'].Value); form1.Caption := s2; Die ist übrigens ein Cross-Post: ![]() Hoffentlich kann mir einer von euch erklären was ich falsch mache. MfG Tony |
AW: JSON parsen mit mehreren Eigenschaften pro Object
Schon mal mit
Code:
probiert?
image.public_url
|
AW: JSON parsen mit mehreren Eigenschaften pro Object
Tipp: unter
![]() Wenn man in der Visualisierung auf ein Element der Datenstruktur klickt, wird links davon der Pfad zu diesem Element angezeigt, z.B. bei einem Array auch mit der passenden Indexdarstellung arrayname[v] |
AW: JSON parsen mit mehreren Eigenschaften pro Object
Zitat:
![]() Eine einfaches
Delphi-Quellcode:
reicht aus, um einen Objektbaum aus einem JSON-String zu erzeugen. Dort kann man dann mit
ob:=SO(jsonstring)
Delphi-Quellcode:
auf die einzelnen (String-) Elemente zugreifen, mit
ob.S['pfad']
Delphi-Quellcode:
kommt man an die Objekte und mit
ob.O['pfad']
Delphi-Quellcode:
an die Arrays. Iteratoren gibt es auch;)
ob.A['pfad']
|
AW: JSON parsen mit mehreren Eigenschaften pro Object
Zitat:
Delphi-Quellcode:
s2 := vartostr(js.Field['"image.public_url"'].Value);
|
AW: JSON parsen mit mehreren Eigenschaften pro Object
Zitat:
Ist sicher auch interessant eine Lösung für beides zu haben. |
AW: JSON parsen mit mehreren Eigenschaften pro Object
Zitat:
Delphi-Quellcode:
Schau Dir einfach die
var
OB: ISuperObject; begin OB:= SO(JSONString); writeln(OB.AsObject.S['Name']); ... ... end; ![]() |
AW: JSON parsen mit mehreren Eigenschaften pro Object
Jop mach ich =), werd mich dann melden ;)
|
AW: JSON parsen mit mehreren Eigenschaften pro Object
Zitat:
|
Alle Zeitangaben in WEZ +1. Es ist jetzt 00:11 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