There is a JSON parsing library called SuperObject for Delphi however it doesn’t support XE5. A free fork of the XSuperObject project does have cross platform support and runs on both IOS and Android in Delphi XE5 Firemonkey. I like to use XSuperObject to manually parse the results of my TRESTClient requests. If you want to avoid Livebindings and take care of any JSON processing yourself in Delphi XE5 Firemonkey then this is the library to use. It is pretty simple to use once you see an example of how to use it. Once such example demonstrating it’s usage from their samples is below:
const  JSON = '{ "o": { '+      '   "1234567890": {'+      '   "last use date": "2010-10-17T01:23:20",'+      '   "create date": "2010-10-17T01:23:20",'+      '   "name": "iPhone 8s"'+      '     }'+      '  },'+      '  "Index": 0, '+      '  "Data": {"Index2": 1}, '+      '  "a": [{'+      '   "last use date": "2010-10-17T01:23:20",'+      '   "create date": "2010-11-17T01:23:20",'+      '   "name": "iPhone 8s",'+      '   "arr": [1,2,3] '+      '  }, '+      '  {'+      '   message: "hello"'+      '  }]'+      '}'; var  X: ISuperObject;  NewJSon: ISuperObject;  NewArray: ISuperArray; begin  X := SO(JSON);  ShowMessage( X['o."1234567890"."last use date"'].AsString );  ShowMessage( X['a[Index]."create date"'].AsString );  ShowMessage( X['a[Data.Index2].message'].AsString );  X['a[0].arr'].AsArray.Add('test1');  // -----  NewJSON := X['{a: a[Index], b: a[Data.Index2].message, c: o."1234567890".name, d: 4, e: a[0].arr[2], f: " :) "}'].AsObject;  NewArray := X['[a[Index], a[Data.Index2].message, Data.Index2, Index, 1, "1", "test"]'].AsArray; end;
Head over and download the source to start using XSuperObject.
5 Comments