• Yardım
  • Json dosyasındaki birden fazla array'i okumak

Merhaba,
Json dosyasında bir sınıfa mensup iç içe array yerine ayrı sınıflardan oluşan iki veya daha fazla farklı array’i nasıl listeye çevireceğiz.

    [
        [
            {
                "ogrenci_adi" : "Hakan",
                "no" : 5
            },
            {
                "ogrenci_adi" : "Ali",
                "no" : 10
            }
        ],
        [
           {
                "ogretmen_adi" : "Emre",
                "okul" : "A Okulu"
            },
        ]
    ]

    Basit bir örnek üstünde fazla uzatmadan hem öğrenci hemde öğretmen array’i için ogrenci ve ogretmen sınıflarını oluşturdum ve fromJson metodlarını tanımlandım.
    Ne yapmam gerekiyor bilmiyorum.
    Emre Altunbileğin 121. videosunun 16:30 dk’sından itibaren sınıf yardımı ile decode işlemini yapmak için kod satırı oluşturuyor. Fakat o satır tek sınıf için geçerli. Json dosyasından birden fazla iç içe olmayan farklı array varsa bunları programda nasıl ayrı listeler halinde kullanabiliriz?

    asli hocam kafa karıstırmana gerek yok🙂

    senin örneğinde öncelikle bir liste geliyor değil mi

    List anaListe = json.decode(gelenJson.tostring);

    List ogrenciListesi = anaListe[0]; //Analistenin ilk elemanı bize öğrenciListesini verir

    List ogretmenListesi = anaListe[1]; //Analistenin ikinci elemanı bize ogrentmenListesini verir

    anaListe[0][0][‘ogrenci_adi’] bize hakan değerini verir. daha okunur olması için ogrenciListesi[0][‘ogrenci_adi’] da bize hakanı verir…

    iç içe for döngüsüyle tüm yapıyı okuyaiblirsn

    • asli replied to this.

      ishak Hocam o zaman bu tip örnekler için model sınıf oluşturup, sınıf yardımıyla verileri okuyamıyoruz doğru mu anlıyorum.

      asli okursun hocam, iki tane for kullanırsın,, videoda tek forda yaptıgımızı iki forla yaparsın

      List anaListe = json.decode(gelenJson.tostring);

      Senin yapında List ogrenciListesi = anaListe[0]; şu ifade videodaki List arabaListesi = json.decode(gelenJson.tostring) ile aynı

      sonra bunu forla gezerek ogrenci nesnelerini atarsın

      bu işlemden sonra da baska bir for döngüsü ile List ogretmenListesi = anaListe[1]; bu listeyi gezer Ogretmen modeline atarsn

      • asli replied to this.

        ishak List<Araba> ArabaListesi = (json.decode(gelenJson) as List)
        .map((mapYapisi) => Araba.fromJson(mapYapisi))
        .toList();
        Hocam üstteki kod satırı için videoda karışık gelen belki burası olmuştur diyorsunuz ya, harbiden bu satırı sanki başka bir kalıpmış gibi görüp, anlamamıştım. Son gönderdiğiniz cevap ile yapı kafamda oturdu. Bu Map/Liste mantığını iyi anlamak gerekiyor gerçekten.

        Tekrar teşekkürler.

        asli zamanla oturacaktır, zaten genellikle basit json yapıları işimizi görüyor hocam,, yani netten bir apiden gelen json degerleri son derece basit oluyor ve de bunu yapan siteler de var merak etme🙂derslerde kullandık ilerleyen zamanlarda görüceksin

          8 months later

          arkadaşın dediği doğru orada araba ve araba modeli diye 2 sınıf var fakat araba modeline erişemiyoruz. bu nasıl olacak

          Write a Reply...