您的位置:首页 > 编程语言 > Delphi

Delphi 6 下支持 json 数据格式

2014-06-29 19:34 423 查看
  我打算写的系列文章暂定为《从零开始学习互联网开发技术》,百度了一下貌似没有同名文章,现在只有零星的一些笔记,估计也只有我才能看得懂,需要重新整理一下,否则发上来是不负责任的。在整理之前,先把自己近期写的一个Delphi 6下的json类发出来分享一下。

  上个月,我们一个产品需要增加一个Windows下的程序,部门里能做Windows程序开发的很少了,于是任务就落在我头上。其实我也很长时间没有开发Windows程序了,手上现成的开发工具就是十来年前的Delphi 6,也不想花太大力气搞这个,折腾了一下在我的Win 7安装好Delphi 6就开始开发了。这个程序与服务端通讯要求的格式是json,在json官网和GitHub找了一轮,没有发现支持Delphi 6的json库,没办法,只能自己写吧。

  花了两三天时间写好,在使用过程中只发现一个bug,看来代码质量这个基本功还是没有丢掉。

  json的语法比较简单,代码就是按照官网的语法说明采用纯原生Object pascal编写,仅仅使用了TList、TStrings和TStringList三个类,引入了一个类似PHP关联数组不需显式增加数组项的特性,使用也很方便,具体怎么实现就不罗嗦了,具体可以看源代码:https://github.com/rilyu/json4delphi


  使用方法示例:

var
Json: TJson;
Str: String
begin
Json := TJson.Create();

//增加key-value
Json.Put('field1', null);
Json.Put('field2', True);
Json.Put('field3', 3.14);
Json.Put('field4', 'hello world');

//增加key-value的另一种方式
Json['field5'].AsBoolean := False;
Json['field6'].AsString := 'hello world';

//增加json对象
with Json['field7'].AsObject do
begin
Put('subfield1', 2.7182818284);
Put('subfield2', 'json4delphi');
end;

//增加json数组
with Json['field8'].AsArray do
begin
Put(6.6260755e-34);
Put('The magic words are squeamish ossifrage');
end;

//取值
Str := Json['field4'].AsString;

//从json格式字符串析入
Json.Parse('{"a":1}');

//转换为json字符串
Str := Json.Stringify;
end;
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: