Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
DataSet To Json
#1
Dataseti daha önce, DataSet To XML , DataSet To Excel olarak almıştık şimdi de Dataset To Json yapıyoruz.  Smile


var
JSONField,JSONVal : TJSONObject;
JSONArray : TJSONArray;
i:integer;
begin
 try
   if Data.IsEmpty then
   begin
      Result := 'Dataset Boş';
   end else
   begin
      JSONArray := TJSONArray.Create;
      try
       while not Data.Eof do
         begin
           JSONField  := TJSONObject.Create;
           for I := 0 to Data.FieldCount - 1 do
            begin
             JSONField.AddPair(Data.Fields[i].FieldName , Data.FieldByName(Data.Fields[i].FieldName).AsString);
            end;
           JSONArray.Add(JSONField);
           Data.Next;
         end;
        Result := JSONArray.ToString;
      finally
         JSONArray.DisposeOf;
      end;
   end;
   except on E: Exception do  Result := E.Message;
 end;
end;

Dikkat : Eğer ilgili field'ınız Null ise json objesi hiç oluşmaz, okumanız gereken yerlerde buna dikkat ediniz.
WWW
Cevapla
#2
Merhaba,
Paylaşım için teşekkür ederiz. 
Yapılmışı vardı zaten. Smile İki farklı yöntemle yapmak mümkün. 
Daha önce bir konu başlığında bilrax üyemizin paylaştığı bir yöntem ve aşağıdaki gibi DataSetToJSOn ve JSONToDataSet dönüşümleri pratik bir şekilde yapılabilmektedir.

function Tdm.DataSetToJSON(Source: TFDDataSet): string;
var
 stream: TStringStream;
begin
 stream := TStringStream.Create;
 try
   Source.SaveToStream(stream, TFDStorageFormat.sfJSON);
   result := UTF8ToUnicodeString(stream.DataString);
 finally
   stream.Free;
 end;
end;


procedure Tdm.JSONToDataSet(const Source: string; Target: TFDDataSet);
var
 stream: TStringStream;
 utf8Text: UTF8string;
begin
 SetLength(utf8Text, Length(Source) * SizeOf(Char) + 1);
 UnicodeToUtf8(PAnsiChar(utf8Text), Length(utf8Text), PWideChar(Source),
   Length(Source));
 stream := TStringStream.Create(utf8Text);
 try
   Target.LoadFromStream(stream, TFDStorageFormat.sfJSON);
 finally
   stream.Free;
 end;
end;

Kaynak: delphipraxis
Cevapla
#3
Bir de şöyle bir şey vardı;

DataSet to CSV
YouTube Delphi Tips
"Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır" Peyami Safa
WWW
Cevapla
#4
Her yiğidin bir yoğurt yiyişi varmış Smile
WWW
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  JSON DataSet Serialize for Unidac Halil Han BADEM 2 467 08-11-2023, Saat: 16:53
Son Yorum: Halil Han BADEM
  JSON Verilerini Veritabanına Kaydetmek kajmerantime 6 695 03-11-2023, Saat: 15:05
Son Yorum: kajmerantime
  JSon Format m_ekici 7 874 02-10-2023, Saat: 09:24
Son Yorum: yhackup
  RESTRequest Nesnesinde Body içinde JSON Gönderme Hk. pro_imaj 2 566 04-06-2023, Saat: 00:47
Son Yorum: pro_imaj
Exclamation delphi json binance uygulaması yardım fix1tr 7 1.578 31-03-2023, Saat: 10:48
Son Yorum: fix1tr



Konuyu Okuyanlar: 1 Ziyaretçi