Coding for KidsCoding for Kids
Yaratıcı SeviyelerZorluklarÖğretmen Kılavuzu
Özellikler için oy verin
Gelişmiş Python Geliştirme Kursu
Bölüm
>
Seviye

Serileştirme Modülleri
JSON Modülü

Amaç

Servis istasyonuna gidin ve dosyaları biçimlendirmek için JSON modülünü kullanarak verilerin düzgün şekilde saklandığından emin olun.

Yeni inşaat alanındaki annex binasının güneyinde bir servis istasyonu bulunmaktadır, bu tüm alan mahsul ekimi için yeniden düzenlenecektir. İstasyon, yeni gelişim için verileri işleyen çeşitli terminallere sahiptir, verileri elle yazabiliriz ancak bu çok zaman alır. Veri işleme süreci için JavaScript Nesne Gösterimi (JSON) kullanabiliriz; bu, programlama dillerinden bağımsız olan ve bilgileri veri saklama ve aktarım için kolay okunabilir biçimde depolayan bir veri formatıdır.

Python ile JSON kullanmak için import json kullanabiliriz; bu, bize JSON fonksiyonlarına erişim sağlayacaktır. Amacımız için aşağıdaki fonksiyonları kullanacağız:

  • json.loads(): JSON dizesini Python verisine dönüştürür, Python'a ayrıştırmak istediğiniz dizeyi argüman olarak alır.
  • json.dumps(): Python verisini JSON dize nesnesine dönüştürür, bu fonksiyon dört (4) argümana kadar alabilir; yalnızca ilk argüman fonksiyonu kullanmak için gereklidir. Argümanlar şunlardır:
    1. JSON'a dönüştürmek istediğiniz Python verisi: bunlar dictionaries, lists, tuples, string, integer, float, boolean ve None veri tiplerinden biri olabilir.
    2. indent: veri noktasının başına eklemek istediğiniz boşluk sayısı
    3. separators: veri noktaları arasında ve/veya sonunda görünmesini istediğiniz bölümler
    4. sort_keys: eğer bir sözlük dosya türünü dönüştürüyorsanız, sözlük anahtarlarını alfabetik olarak sıralar.

Başlamak için, sol taraftaki karakoldaki altın X işaretine gidin ve not bulunan masaya doğru bakın. Terminalin durumunu doğrulamak için gereken bilgileri kontrol etmek üzere read() fonksiyonunu kullanın ve bunları not alın. Terminalin önündeki açık X işaretine doğru yürüyün; transmission adında bir sabit bulunmaktadır, bunu json olarak biçimlendirmek için json.dumps() kullanın, örneğin: transmission = json.dumps(transmission).

load adında bir sözlük oluşturun ve transmission sabitini argüman olarak kullanarak json.loads() değerini saklayın. Bu, JSON'u Python'a dönüştürecek ve bilgilerin kolayca erişilmesini sağlayacaktır. Oluşturduğunuz load sözlüğünü ve notlarda belirtilen anahtarları kullanarak speak() fonksiyonunu kullanın. Örneğin: player.speak(load["system"]), bunu tüm anahtarlar için yapın.

Terminaldeki bilgileri kontrol ettikten sonra istasyona doğru yürüyün, içeri girin ve yeşil halı üzerindeki açık X işaretine ilerleyin. read() fonksiyonunu kullanarak notu kontrol edin, değerleri inceleyin ve not alın; editörde profile adında önceden yazılmış bir sözlük bulunmaktadır, eksik değerleri notlardaki bilgilerle doldurun.

Yeşil halı üzerindeki koyu X işaretine doğru yürüyün, terminale bakın ve transfer adında bir değişken oluşturun; json.dumps() değerini saklayın ve tek argüman olarak profile sözlüğünü ekleyin. Bu sayede sözlüğü bir json dize nesnesine dönüştürmüş oluyoruz. Veriyi terminalde saklamak için önceden yazılmış display() fonksiyonunu kullanın ve transfer Json'unu ekleyin.

Kırmızı halı üzerindeki koyu X işaretine doğru yürüyün ve terminalde zaten girilmiş verileri doğrulamak için read() fonksiyonunu kullanın. Veriler düzgün bir formatta sunulmamaktadır; verinin düzgün saklanması ve biçimlendirilmesi için JSON olarak saklanması gerekmektedir. Veri, red_data adında bir sözlük sabitinde saklanmaktadır; red_storage adında bir değişken oluşturun ve json.dumps() fonksiyonunun değerini saklayın.

Veriyi biçimlendirmek için, fonksiyona aşağıdaki argümanları ekleyin: sabiti JSON'a dönüştürmek üzere red_data ekleyin, metni biçimlendirmek için indent ekleyip 5 olarak ayarlayın, her satırın sonuna bu sembolleri eklemek için separators ekleyip ("- ", " = ") değerini kullanın. Satır şu şekilde görünmelidir: red_storage = json.dumps(red_data, indent=5, separators=("- ", " = ")). Biçimlendirilmiş veriyi saklamak ve görüntülemek için önceden yazılmış display() fonksiyonunu kullanın ve red_storage Json dizesini ekleyin.

Mavi halı üzerindeki koyu X işaretine doğru yürüyün, terminale bakın ve read() fonksiyonunu kullanın; tıpkı öncekiler gibi veriler düzgün saklanmamış, biçimlendirilmesi ve ayrıca sıralanması gerekmektedir. Veri, blue_data adında bir sabitte saklanmaktadır; blue_storage adında bir değişken oluşturun ve json.dumps() fonksiyonunun değerini saklayın.

Argümanlar için: sabiti JSON'a dönüştürmek üzere blue_data ekleyin, metni biçimlendirmek için indent ekleyip 4 olarak ayarlayın, her satırın sonuna bu sembolleri eklemek için separators ekleyip (".0", " = ") değerini kullanın. Buna ek olarak, son argüman olarak sort_keys ekleyip True olarak ayarlayın, örneğin: sort_keys=True. Sıralanmış veriyi saklamak ve görüntülemek, seviye tamamlamak için önceden yazılmış display() fonksiyonunu kullanın ve blue_storage Json dizesini ekleyin.

Kod Kitabı