Delphi2009中开始提供了json支持,但并不完善,提供的单元为(Delphi 2009-Delphi XE4 为DBXJson,很不好用,当时据说是为Datasnap开发准备,方法功能不完善,缺少比如XE5以上版本(System.json)中所提供的GetValue等方法。所以经过各种测试json官方提供的几个单元,比如ljkjson等。最终发现还是SuperObject最好用。简单整理一下使用方法:
(*
ISuperObject中几个常用的函数:
* 此函数传入json数据字符串,并返回一个ISuperObject对象,
* 这一般是我们解析json时使用的第一个函数,如jObj := SO(jsonstr)。
function SO(const s: SOString = '{}'): ISuperObject; overload;
* 方括号内的字符串为json中的字段名称,返回一个ISuperObject对象。如:jobj.O['username'],
property O[const path: SOString]: ISuperObject read GetO write PutO; default;
* 和O['username']不同的是,它返回的是一个SoString,
* 即一个字符串,使用方法 str := jObj.S['username'];
* 同理的还有其他几个类似的函数,如I['age']返回整数,B['isenable']返回布尔型,A['users']返回一个TSuperArray数组
property S[const path: SOString]