資料集轉換JSON

左边江湖右边庙發表於2024-07-04

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;

相關文章