Delphi7 JSON文件生成
最近有一个把文本数据按格式转JSON的需求,本来想使用读写文件的方式把内容写到文本文件,然后把文本文件保存问.json格式,后来仔细读了一下客户需求的JSON格式,发现里面包含JSON键值对、JSON数组等层层嵌套,于是想到使用SuperObject。
单元文件下载:https://download.csdn.net/download/Student_cc/12697119
下面说一下我的使用过程:
- 把单元文件加载进来;
- 定义json对象,这里要注意使用的类型是ISuperObject,申明时使用TSuperObject,看下面代码
mainjson, subjson : ISuperObject;
mainjson := TSuperObject.Create(stObject);
subjson := TSuperObject.Create(stArray);
mainjson.S['line'] := 'SS';
mainjson.S['value_flag'] := 'Y';
subjson[''] := mainjson; // 把json对象传给数组
- 释放对象:直接用nil;
- 编译程序出错,按照如下图片修改即可;
{$UNDEF SaveQ} {$IFOPT Q+} {$Q-} {$DEFINE SaveQ} {$ENDIF}
class function TSuperAvlEntry.Hash(const k: SOString): Cardinal;
var
h: cardinal;
i: Integer;
begin
h := 0;
for i := 1 to Length(k) do
h := h*129 + ord(k[i]) + $9e370001;
Result := h;
end;
{$IFDEF SaveQ} {$Q+} {$UNDEF SaveQ} {$ENDIF}