Konuyu Paylaş : facebook gplus twitter

Konuyu Oyla:
  • Derecelendirme: 0/5 - 0 oy
  • 1
  • 2
  • 3
  • 4
  • 5
DataSet To Json
#1
Dataseti daha önce, Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol , Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol olarak almıştık şimdi de Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 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.
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
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 Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol 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: Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
While true do; Hayat döngüsü, kısır değildir! Yapılan bir yanlış, o döngünün dışına çıkmanızı sağlayacaktır.
WWW
Cevapla
#3
Bir de şöyle bir şey vardı;

Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Cevapla
#4
Her yiğidin bir yoğurt yiyişi varmış Smile
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol
Kuvvete dayanamayan adalet aciz, 
Adalete dayanamayan kuvvet zalimdir.
WWW
Cevapla

Konuyu Paylaş : facebook gplus twitter



Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Bu json formatı nasıl okunur? canbir 5 235 23-03-2018, Saat: 17:22
Son Yorum: barisatalay
  Delphi ile Json Parse İşlemi yhackup 12 1.036 21-02-2018, Saat: 07:59
Son Yorum: 10.Köy
  Dataset Out Of Memory Hatası? delphi-x 2 246 02-11-2017, Saat: 00:16
Son Yorum: delphi-x
  XML Json dosyaları ile Çalışma masteryoda 8 450 30-09-2017, Saat: 22:32
Son Yorum: Fesih ARSLAN
  Dataset Swap Row (Çözüldü) uparlayan 11 796 07-07-2017, Saat: 20:13
Son Yorum: cengaver



Konuyu Okuyanlar: 1 Ziyaretçi