Advertisement
wprins

Previous JSON example now with SuperObject

Aug 25th, 2012
1,289
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Delphi 1.22 KB | None | 0 0
  1. program JSONTest2;
  2.  
  3. {$APPTYPE CONSOLE}
  4.  
  5. uses
  6.   Classes,
  7.   SysUtils,
  8.   superobject;
  9.  
  10. function GetJSonObjectFor(stl : TStringList) : ISuperObject;
  11. var RootJsonObj, PairsJsonObj : ISuperObject;
  12.     AJsonArray : ISuperObject;
  13.     AJsonPair : ISuperObject;
  14.     i : Integer;
  15. begin
  16.   AJsonArray := TSuperObject.Create(stArray);
  17.   RootJsonObj := TSuperObject.Create();
  18.   RootJsonObj['Array'] := AJsonArray;
  19.  
  20.   for i := 0 to stl.Count-1 do
  21.   begin
  22.     PairsJsonObj := TSuperObject.Create();
  23.     PairsJsonObj.S['ID'] :=  stl.Names[i];
  24.     PairsJsonObj.S['Status'] := stl.ValueFromIndex[i];
  25.     AJsonArray.AsArray.Add(PairsJsonObj);
  26.   end;
  27.  
  28.   result := RootJsonObj
  29. end;
  30.  
  31. var
  32.   Sourcedata : TStringList;
  33.   AJsonObj : ISuperObject;
  34.  
  35. begin
  36.   try
  37.     SourceData := nil;
  38.     AJsonObj := nil;
  39.     try
  40.       SourceData := TStringList.Create;
  41.       SourceData.Values['14'] := 'AOK';
  42.       SourceData.Values['15'] := 'Bad';
  43.       SourceData.Values['16'] := 'AOK';
  44.  
  45.       AJsonObj := GetJSonObjectFor(SourceData);
  46.  
  47.       writeln(AJsonObj.AsString);
  48.       readln;
  49.     finally
  50.       SourceData.Free;
  51.       AJsonObj := nil;
  52.     end;
  53.   except
  54.     on E: Exception do
  55.       Writeln(E.ClassName, ': ', E.Message);
  56.   end;
  57. end.
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement