Hallo Forum,
ich nutze eine Api eines Bildupload-Services und möchte den String (formatiert in JSON), mit der hier erhältlichen Unit parsen:
sourceforge.net/projects/lkjson/
Dort findet man auch Beispiel-Projekte(sample3) nach dem ich meinen Versuch startete:
Delphi-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21:
| 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}}';
js := TlkJSON.ParseText(JSON) as TlkJSONobject;
s2 := vartostr(js.Field['"public_url"'].Value); form1.Caption := s2; |
Solang man von einem Objekt nur eine Eigenschaft abruft, funktioniert es, ansonsten wird alles danach kommende ignoriert.
Das einzige was passiert ist eine Access-Violation ..
Leider ist die Unit auch so dermaßen rießig und mächtig das ich quasi garkeinen Überblick darüber habe, was sie alles kann, den rein theoretisch müsste es auch eine Funktion geben, die einem alle Objekte zurückgibt - sowas find ich zb auch nicht. Wirklich dokumentiert ist auch nix.
Vielleicht kenn sich jemand damit aus, oder kann mir weiterhelfen, ich habe leider gar keine Ahnung was ich da noch anders schreiben soll. Danke schonmal