• 26-10-2020, 10:30:47
    #1
    Selamlar, bir eklenti geliştiriyorum ve bu eklentiye dünyanın tüm bölgelerini ekleyebileceğim bir json dosyası buldum, ancak sorun şu ki dosya 23 mb ve 140.000 satır, bu dosyayı nasıl efektif bir şekilde dropdown select box gibi bir yapıya entegre edebilirim önerisi olan var mı? Dosya da şu http://serdenci.com/city.list.min.json
  • 26-10-2020, 10:34:21
    #2
    Üyeliği durduruldu
    JSON'u parse edip veritabanına kaydedin. Mesela ülke olarak TR seçildiği zaman Ajax ile sadece o ülkeye ait satırlar gelsin. Bu şekilde işinizi görür sanırım.

    Dip not: Gerçi json'u parçalara ayırıp da tutabilirsiniz, TR.json, US.json gibi ama veritabanı olursa kontrolü daha kolay olur.
  • 26-10-2020, 10:36:25
    #3
    awoken adlı üyeden alıntı: mesajı görüntüle
    JSON'u parse edip veritabanına kaydedin. Mesela ülke olarak TR seçildiği zaman Ajax ile sadece o ülkeye ait satırlar gelsin. Bu şekilde işinizi görür sanırım.

    Dip not: Gerçi json'u parçalara ayırıp da tutabilirsiniz, TR.json, US.json gibi ama veritabanı olursa kontrolü daha kolay olur.
    Ajax ile tek seferde sorgulamak sanırım pek uygun bir method değil
  • 26-10-2020, 10:37:14
    #4
    Json dosyasını parçalayacaksın maalesef, ya da python gibi server side dilleri kullanacaksın.

    Her ülkeyi parçalayıp yeni json oluştur. tr.json gibi. Daha sonra select box ile ilk önce ülke seçtir ajax ile o ülkenin json dosyasını çağır.
  • 26-10-2020, 10:42:11
    #5
    140k satırı okumak harbi sıkıntı bot yaz veritabanına dök kademeli olarak yazdır başka çaresi yok.. bot yazıp jsonu da parçalayabilirsin aslında
  • 26-10-2020, 10:44:03
    #6
    En temizi ülkelere göre json dosyaları yapıp önce ülke seçtirerek yükü azaltmak olacak sanırım, bir wordpress eklentisine fazla mı yükleniyorum napıyorum bilemedim
  • 26-10-2020, 18:12:43
    #7
    Kimlik doğrulama veya yönetimden onay bekliyor.
    Sanırım telegramdaki gruplarda da sormuştunuz siz bu soruyu. İlk önerim datayı parçalayıp birden fazla json halinde tutmanız. Veri çok büyük olduğu için tarayıcıda açamadım. İkinci seçenek mongodb gibi nosql bir database seçip orada tutabilirsiniz. Ufak bir endpoint ile istek alır sonucu dönersiniz. Farklı bir web servis olarak yani. Son çözümüm ise bu veriyi memory cache üzerinde tutup örneğin redis gibi oradan çekebilirsiniz. Böylece hızlı olur işlemler.