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
Peyami Safa: "Yaşlanarak değil, yaşayarak tecrübe kazanılır. Zaman insanları değil, armutları olgunlaştırır". 
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 Json Parse yhackup 8 186 27-06-2018, Saat: 02:15
Son Yorum: canbir
  delphi ile json parseleme arsl01 25 699 26-06-2018, Saat: 15:15
Son Yorum: arsl01
  webden json okuma hatası arsl01 3 103 25-06-2018, Saat: 15:17
Son Yorum: arsl01
  JSON Veri Okuma elixir84 12 403 12-06-2018, Saat: 13:50
Son Yorum: elixir84
  Json tarihini convert etmek ermanispir@gmail.com 2 173 25-05-2018, Saat: 17:05
Son Yorum: Kuri_YJ



Konuyu Okuyanlar: 1 Ziyaretçi