Konuyu Oyla:
  • Derecelendirme: 5/5 - 1 oy
  • 1
  • 2
  • 3
  • 4
  • 5
Delphi Json Okuma (üst ve alt kırılımlı)
#1
Selâmlar, 

unit Unit1;

interface

uses
 Winapi.Windows, Winapi.Messages, System.SysUtils, System.StrUtils, System.JSON, System.Variants, System.Classes, Vcl.Graphics,
 Vcl.Controls, Vcl.Forms, Vcl.Dialogs, Vcl.ExtCtrls, Vcl.StdCtrls, Vcl.ComCtrls;

type
 TForm1 = class(TForm)
   Calistir: TButton;
   JsonSonucu: TMemo;
   procedure CalistirClick(Sender: TObject);
 private
   { Private declarations }
 public
   { Public declarations }
 end;

var
 Form1: TForm1;

implementation

{$R *.dfm}

procedure TForm1.CalistirClick(Sender: TObject);
var
       I : Integer;
       JSonArabalar : TJsonArray;
       Araba, JsonFiyatlar : TJSonObject;
       ArabaFiyati : Double;
       ArabaMarkasi, ArabaModeli, ArabaYili, ArabaParaBirimi : String;

       Json:String;
begin
       Json:='';
       Json:=Json+'[';
        Json:=Json+'    {"Markalar":"Ferrari", "Modeller":"SF90 Stratade", "Yili":2020, "Fiyatlar":{"Fiyati":15000, "PS":"EUR"}},';
        Json:=Json+'    {"Markalar":"Ford", "Modeller":"viper", "Yili":2013, "Fiyatlar":{"Fiyati":24000, "PS":"EUR"}},';
        Json:=Json+'    {"Markalar":"Bmw", "Modeller":"Z4", "Yili":2008, "Fiyatlar":{"Fiyati":32000, "PS":"EUR"}},';
        Json:=Json+'    {"Markalar":"Mercedes", "Modeller":"SLK", "Yili":2001, "Fiyatlar":{"Fiyati":47000, "PS":"EUR"}},';
        Json:=Json+'    {"Markalar":"Visera", "Modeller":"2018", "Yili":2020, "Fiyatlar":{"Fiyati":61000, "PS":"TL"}},';
        Json:=Json+'    {"Markalar":"Sercedes", "Modeller":"MLK", "Yili":2005, "Fiyatlar":{"Fiyati":65000, "PS":"USD"}}';
        Json:=Json+']';

       JSonArabalar:=TJsonObject.ParseJsonValue(Json) as TJsonArray;

       If not Assigned(JSonArabalar) Then Exit;

       try
                 JsonSonucu.Clear;

                 For I:=0 to JSonArabalar.Count-1 Do
                 begin
                         try
                         {Object}Araba  :=  JSonArabalar.Get(I) as TJsonObject; //Object
                                         ArabaMarkasi :=  Araba.Get('Markalar').JsonValue.Value;
                                         ArabaModeli  :=  Araba.Get('Modeller').JsonValue.Value;
                                         ArabaYili    :=  Araba.Get('Yili').JsonValue.Value;

                                 {Object}JsonFiyatlar :=  Araba.Get('Fiyatlar').JsonValue as TJsonObject;
                                             ArabaFiyati     :=  (JsonFiyatlar.Get('Fiyati').JsonValue as TJsonNumber).AsDouble;
                                             ArabaParaBirimi :=   JsonFiyatlar.Get('PS').JsonValue.Value;

                                 JsonSonucu.Lines.Add('ArabaMarkasi : '+ArabaMarkasi);
                                 JsonSonucu.Lines.Add('ArabaModeli : '+ArabaModeli);
                                 JsonSonucu.Lines.Add('ArabaYili : '+ArabaYili);
                                 JsonSonucu.Lines.Add('ArabaFiyati : '+ArabaFiyati.ToString+' '+ArabaParaBirimi);
                                 JsonSonucu.Lines.Add('');
                                 JsonSonucu.Lines.Add('');
                         except
                                 On E:Exception Do
                                 JsonSonucu.Lines.Add('Hata : '+E.Message);
                         end;

                         Application.ProcessMessages;
                 end;
       finally
                 JSonArabalar.Free;
       end;
end;

end.

Acemiliğimden her ikisini bulamamıştım. Ya düz okuma vardı ya da hep alt alta okuma. Basit bir şeymiş. Başkaları uğraşmasın diye ekliyorum.

İyi günler.
Cevapla


Konu ile Alakalı Benzer Konular
Konular Yazar Yorumlar Okunma Son Yorum
  Delphi Componentleri Kategorileme. hayalyilmaz43 0 219 23-08-2020, Saat: 21:57
Son Yorum: hayalyilmaz43
  OrangeUI 1.79 for Delphi Sydney 10.4 Yayınlandı! Halil Han BADEM 3 881 01-06-2020, Saat: 23:15
Son Yorum: elixir84
  Plaka okuma sistemi klavye 0 581 03-02-2020, Saat: 12:10
Son Yorum: klavye
  Delphi 7 Windows 10 Türkçe karakter onurakman 1 956 24-12-2019, Saat: 17:10
Son Yorum: hi_selamlar
Question Delphi ile ide geliştirmek ybelen 6 2.414 27-06-2019, Saat: 23:34
Son Yorum: ybelen



Konuyu Okuyanlar: 1 Ziyaretçi