procedure TForm1.DataSetToJSON(DataSet:TDataSet);
var
JSONObject: TJSONObject;
JSONArray: TJSONArray;
JSONItem: TJSONObject;
i:integer;
begin
JSONArray:=TJSONArray.Create; //创建JSON数组 //创建后不需要释放free(会自动释放),如果操作释放free动作会报错
while not DataSet.Eof do
begin
JSONItem:=TJSONObject.Create; //创建JSON对象
JSONItem.AddPair('serial',TJSONNumber.Create(DataSet.FieldByName('data1').AsInteger));
JSONItem.AddPair('product_No','编号'+DataSet.FieldByName('data2').AsString);
JSONArray.AddElement( JSONItem);
DataSet.Next;
end;
//将数组添加到顶层对象中
JSONObject:=TJSONObject.Create;//创建JSON对象
try
JSONObject.AddPair('data',JSONArray);
str_json:=JSONObject.ToString;
finally
JSONObject.Free;
end;
end;