Einzelnen Beitrag anzeigen

Benutzerbild von Back2Code
Back2Code

Registriert seit: 6. Feb 2012
Ort: Deutschland
272 Beiträge
 
Delphi XE7 Professional
 
#2

AW: JSON mit Superobject

  Alt 17. Sep 2014, 12:51
Wie liest man denn bestehende JSON Daten aus?

Hab durch nen GET an ne API einiges an JSON-Daten zurückgeliefert bekommen und werd aus der Readme nicht sonderlich schlau.

{
"id": 3,
"description": "Mithilfe des Gitlab API Tester Programm ist es simpel Gitlab API Issues automatisiert zu erstellen. Das folgende Programm dient zu Veranschaulichung & Funktionsweise der Parameter.",
"default_branch": "master",
"public": false,
"archived": false,


Möchte in dem Fall "id" also die "3" auslesen, funktioniert aber leider nicht so wie es sollte:

Delphi-Quellcode:
procedure TMainForm.GetAllProjects(APIUrl, Token: String);
var
  HTTP : TIdHTTP;
  Cookie : TIdCookieManager;
  SSL : TIdSSLIOHandlerSocketOpenSSL;
  GetRes : String;
  Params : TStringList;
  data : ISuperObject;
  dataArray : TSuperArray;
  test: String;
  i, i2: Integer;
  Item : TListItem;
begin
  HTTP := TIdHTTP.Create(NIL);
  Cookie := TIdCookieManager.Create(HTTP);
  SSL := TIdSSLIOHandlerSocketOpenSSL.Create(HTTP);
  HTTP.CookieManager := Cookie;
  HTTP.IOHandler := SSL;
  HTTP.HandleRedirects := True;
  HTTP.Request.UserAgent :=
  'Mozilla/5.0 (Windows NT 6.1; WOW64; rv:12.0) Gecko/20100101 Firefox/12.0';
  HTTP.AllowCookies := True;

  Params := TStringList.Create;
  Cookie.CookieCollection.Clear;

  APIUrl := APIUrl + 'projects/all?private_token=' + Token;
  GetRes := HTTP.Get(APIUrl);

  data := SO(GetRes);
   test := data..AsObject.S['id']; // get a string; //crap will net :(

  HTTP.Free;
end;
00111100001100110010000001000100011001010110110001 1100000110100001101001
  Mit Zitat antworten Zitat