Python - İleri Seviye Python

JSON

Yayın tarihi :01-Ara-21
Bölüm kodlarını ve/veya veri setlerini indir.

JSON (JavaScript Object Notation), açılımında da görüleceği gibi Javascript nesnesi gösterimidir. API ile bir yerden veri çektiğinizde, çektiğiniz verileri Python ile kullanabilirsiniz. JSON verisinin hangi programlama dili ile üretildiğinin önemi yoktur, sonunda aşağıdaki gibi bir yapının oluşması yeterlidir. Böylece programlama dilllerinin birbirleri ile iletişimi de sağlanmış olur. Bir JSON verisi örneğini aşağıda bulunmaktadır.

{
    "adi": "Enes",
    "soyadi": "ASAN",
    "bildigiDiller": ["Python", "C#", "Java", "PHP"],
    "yas": 32,
    "yapayZekaKonulari": [
        {
            "konuAdi": "BigData",
            "yil":3 
        },
        {
            "konuAdi": "NLP",
            "yil": 5
        }
    ]
}

Python'da JSON verilerini kullanabilmek için json kütüphanesinin içe aktarılması gerekmektedir.

import json

Json kütüphanesinin içersindeki özelliklere bakılacak olursa;

print(dir(json))

Çıktı:

['JSONDecodeError', 'JSONDecoder', 'JSONEncoder', '__all__', '__author__', '__builtins__', '__cached__', 
'__doc__', '__file__', '__loader__', '__name__', '__package__', '__path__', '__spec__', '__version__', 
'_default_decoder', '_default_encoder', 'codecs', 'decoder', 'detect_encoding', 'dump', 'dumps', 
'encoder', 'load', 'loads', 'scanner']

JSON verisinin değişkenlerinin Python'da karşılığı aşağıda sunulmuştur.

Python JSON
dict object
list,tuple array
str string
int,long,float number
True true
False false
None null

JSON verisini Python ile ".json" uzantılı olarak kaydedebiliriz veya string veya sözlük formatına çevirebiliriz.

data={
    "adi": "Enes",
    "soyadi": "ASAN",
    "bildigiDiller": ["Python", "C#", "Java", "PHP"],
    "yas": 32,
    "yapayZekaKonulari": [
        {
            "konuAdi": "BigData",
            "yil":3 
        },
        {
            "konuAdi": "NLP",
            "yil": 5
        }
    ]
}

JSON verilerini dosya olarak kaydetme ve okuma

#kaydetme
with open("data.json","w") as write_file:
    json.dump(data,write_file)
#okuma
with open("data.json") as f:
    data=json.load(f)
print(json.dumps(data,indent=4))
print("Tipi:{}".format(type(data)))

Çıktı:

{
    "adi": "Enes",
    "soyadi": "ASAN",
    "bildigiDiller": [
        "Python",
        "C#",
        "Java",
        "PHP"
    ],
    "yas": 32,
    "yapayZekaKonulari": [
        {
            "konuAdi": "BigData",
            "yil": 3
        },
        {
            "konuAdi": "NLP",
            "yil": 5
        }
    ]
}
Tipi:<class 'dict'>

JSON verilerini string olarak kaydetme

json_string=json.dumps(data,indent=4)
print(json_string)
print("Tipi:{}".format(type(json_string)))

Çıktı:

{
    "adi": "Enes",
    "soyadi": "ASAN",
    "bildigiDiller": [
        "Python",
        "C#",
        "Java",
        "PHP"
    ],
    "yas": 32,
    "yapayZekaKonulari": [
        {
            "konuAdi": "BigData",
            "yil": 3
        },
        {
            "konuAdi": "NLP",
            "yil": 5
        }
    ]
}
Tipi:<class 'str'>

JSON verilerini sözlük olarak kaydetme

json_string=json.dumps(data,indent=4)
data_dict=json.loads(json_string)
print(data_dict)
print("adı:{}".format(data_dict["adi"]))
print("soyadı:{}".format(data_dict["soyadi"]))
print("Tipi:{}".format(type(data_dict)))

Çıktı:

{'adi': 'Enes', 'soyadi': 'ASAN', 'bildigiDiller': ['Python', 'C#', 'Java', 'PHP'], 'yas': 32, 
'yapayZekaKonulari': [{'konuAdi': 'BigData', 'yil': 3}, {'konuAdi': 'NLP', 'yil': 5}]}
adı:Enes
soyadı:ASAN
Tipi:<class 'dict'>

Sözlük verilerini JSON formata çevirme:Verinin bir string ifadeye dönüşmüş olması gerekmektedir.

myDict={"adi":"Enes","Email":"e@gmail.com","bildigiDiller": ["Python", "C#", "Java", "PHP"]}
myJson = json.dumps(myDict,indent=4)
print(myJson)
print(type(myJson))

Çıktı:

{
    "adi": "Enes",
    "Email": "e@gmail.com",
    "bildigiDiller": [
        "Python",
        "C#",
        "Java",
        "PHP"
    ]
}
<class 'str'>
Paylaş:

Yorum Yap (*Yorumunuza kod eklemek isterseniz Kod Parçacığı Ekle butonuna tıklayarak ekleyebilirsiniz.)

Yorumlar

Henüz hiç yorum yapılmamış, ilk yorum yapan sen ol.