链式写法有很多优点:连贯、语意集中、简洁、一气呵成、可读性强。比如要把 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 dotry 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‘) .E@R_404_4726@ .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 .E@R_404_4726@ .Endobject;Memo1.Text := Builder.ToJsON;
不过,看起来,使用 TJsONBuilder 层次更分明,更优雅。
总结以上是内存溢出为你收集整理的Delphi Sysem.JSON 链式写法全部内容,希望文章能够帮你解决Delphi Sysem.JSON 链式写法所遇到的程序开发问题。
如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)