Tüm Platformlar için Hızlı Uygulama Geliştirme --->    Kitabımız...      Delphi

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
Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol,Linkleri Görebilmeniz İçin Giriş yap veya Üye Ol / Neyi bilmediğimiz hakkında hiçbir fikrimiz yok (EM)
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
  Delphi ile Json Parse İşlemi yhackup 11 670 10 saat önce
Son Yorum: hakanharbeli
  Dataset Out Of Memory Hatası? delphi-x 2 187 02-11-2017, Saat: 00:16
Son Yorum: delphi-x
  XML Json dosyaları ile Çalışma masteryoda 8 330 30-09-2017, Saat: 22:32
Son Yorum: Fesih ARSLAN
  Dataset Swap Row (Çözüldü) uparlayan 11 673 07-07-2017, Saat: 20:13
Son Yorum: cengaver
  Json Tarih Formatı yhackup 7 374 18-05-2017, Saat: 17:45
Son Yorum: yhackup



Konuyu Okuyanlar: 1 Ziyaretçi