Delphi中将TDataSet转换为JSon字符串。
function Test.DataSetToJson(ADataset: TDataSet): string;
varARecord: string;AField: TField;i: integer;
beginResult := '';with ADataset dobegin// 如果dataset是空就退出if IsEmpty thenExit;//初始化ARecordARecord := '';//定义开头Result := '[';//循环行while not Eof dobegin//循环列for i := 0 to FieldCount - 1 dobegin//取列值 FieldName列名 Text列值AField := Fields[i];if ARecord = '' thenbeginARecord := '{"' + AField.FieldName + '":"' + AField.Text + '"'endelsebeginARecord := ARecord + ',"' + AField.FieldName + '":"' + AField.Text + '"';end;//判断是否到最后一列if i = FieldCount - 1 thenbeginARecord := ARecord + '}';//判断result是否第一次填充if Result = '[' thenbeginResult := Result + ARecordendelsebeginResult := Result + ',' + ARecord;end;//列结束,重置 ARecordARecord := '';end;end;Next;end;end;//] 结尾Result := Result + ']';
end;