Delphi Sysem.JSON 链式写法

Delphi Sysem.JSON 链式写法,第1张

概述      链式写法有很多优点:连贯、语意集中、简洁、一气呵成、可读性强。比如要把 3.1415926 中的 59 提取为一个整数:Pi.ToString().Substring(5,2).ToInteger() 轻车熟路的感觉,让人觉得,哇!好帅的写法,牛x。       以前以为只有 TJSONBuilder 才支持链式语法,今天发现 TJSONObject 也支持,比如要生成下面的 JSON

      链式写法有很多优点:连贯、语意集中、简洁、一气呵成、可读性强。比如要把 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 链式写法所遇到的程序开发问题。

如果觉得内存溢出网站内容还不错,欢迎将内存溢出网站推荐给程序员好友。

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/langs/1274882.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-06-08
下一篇 2022-06-08

发表评论

登录后才能评论

评论列表(0条)

保存