Delphi Sysem.JSON 链式写法
发布时间:2020-12-15 09:56:10 所属栏目:大数据 来源:网络整理
导读:? ? ? 链式写法有很多优点:连贯、语意集中、简洁、一气呵成、可读性强。比如要把 3.1415926 中的 59 提取为一个整数:Pi.ToString().Substring(5,2).ToInteger() 轻车熟路的感觉,让人觉得,哇!好帅的写法,牛x。 ? ? ? 以前以为只有 TJSONBuilder 才支持
? ? ? 链式写法有很多优点:连贯、语意集中、简洁、一气呵成、可读性强。比如要把 3.1415926 中的 59 提取为一个整数:Pi.ToString().Substring(5,2).ToInteger() 轻车熟路的感觉,让人觉得,哇!好帅的写法,牛x。 ? ? ? 以前以为只有 TJSONBuilder 才支持链式语法,今天发现 TJSONObject 也支持,比如要生成下面的 JSON? { "name": "张三","vip": true,"telephones": [ "13012345678","19786543210" ],"age": 24,"size": 1.72,"adresses": [ { "adress": "foo","city": "The wall","pc": 57000 },{ "adress": "foo","city": "Winterfell","pc": 44000 } ] } 使用? TJSONObject 链式写法,代码如下: with TJSONObject.Create do try AddPair(‘name‘,‘张三‘) .AddPair(‘vip‘,TJSONTrue.Create) .AddPair(‘telephones‘,TJSONArray.Create .Add(‘13012345678‘) .Add(‘19786543210‘) ) .AddPair(‘age‘,TJSONNumber.Create(24)) .AddPair(‘size‘,TJSONNumber.Create(1.72)) .AddPair(‘adresses‘,TJSONArray.Create .Add( TJSONObject.Create .AddPair(‘adress‘,‘foo‘) .AddPair(‘city‘,‘The wall‘) .AddPair(‘pc‘,TJSONNumber.Create(57000)) ) .Add( TJSONObject.Create .AddPair(‘adress‘,‘Winterfell‘) .AddPair(‘pc‘,TJSONNumber.Create(44000)) ) ); Memo1.Text := TConverters.JsonReformat(ToJSON); finally Free; end; Delphi 10.1 新增的一个JSON读写框架 :Readers and Writers JSON Framework?,可以了解下: Builder:=TJSONObjectBuilderEx.NewBuilder; Builder .BeginObject .Add(‘name‘,‘张三‘) .Add(‘vip‘,true) .BeginArray(‘telephones‘) .Add(‘13012345678‘) .Add(‘19786543210‘) .EndArray .Add(‘age‘,24) .Add(‘size‘,1.72) .BeginArray(‘adresses‘) .BeginObject .Add(‘adress‘,‘foo‘) .Add(‘city‘,‘The wall‘) .Add(‘pc‘,57000) .EndObject .BeginObject .Add(‘adress‘,‘Winterfell‘) .Add(‘pc‘,44000) .EndObject .EndArray .EndObject; Memo1.Text := Builder.ToJSON; ?不过,看起来,使用 TJSONBuilder 层次更分明,更优雅。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |