Python JSON
JSON (JavaScript Object Notation), veri depolamak ve alışverişi yapmak için yazılan bir sözdizimidir.
import json
print(json.dumps({"name": "John", "age": 30}))
print(json.dumps(["apple", "bananas"]))
print(json.dumps(("apple", "bananas")))
print(json.dumps("hello"))
print(json.dumps(42))
print(json.dumps(31.76))
print(json.dumps(True))
print(json.dumps(False))
print(json.dumps(None))
Dönen değerler aşağıdaki gibi olacaktır:
Python | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
Tüm geçerli veri türlerini Python'dan JSON'a dönüştürülebilir:
PYTHON Kodu
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
print(json.dumps(x))
Sonucu Biçimlendirmek
Yukarıdaki örneklerde JSON nesnesini yazdırdık. Fakat satırbaşı boşlukları ve girintiler olmadan pek de okunaklı olmadığını fark etmişsinizdir. json.dumps() metodu okumayı kolaylaştıracak bazı parametreler içerir.
Örneğin, indent parametresini kullanarak veri gruplarına boşluklar ekleyebiliriz. Buradaki 4 sayısı kaç boşluk bırakılacağını ifade eder.:
PYTHON Kodu
json.dumps(x, indent=4)
Çıkan sonuç virgül ve iki nokta şeklindedir. Siz isterseniz bunları da farklı karakterlerle değiştirebilirsiniz. Aşağıdaki örnekte virgül yerine nokta, iki nokta yerine ise eşittir kullandık:
PYTHON Kodu
json.dumps(x, indent=4, separators=(". ", " = "))
Sonuçları Sıralamak
json.dumps() metodu sort_keys parametresi kabul eder. Bu parametre True olarak belirtilirse anahtarlar alfabetik bir şekilde yazdırılır.
PYTHON Kodu
import json
x = {
"name": "John",
"age": 30,
"married": True,
"divorced": False,
"children": ("Ann","Billy"),
"pets": None,
"cars": [
{"model": "BMW 230", "mpg": 27.5},
{"model": "Ford Edge", "mpg": 24.1}
]
}
# anahtarları alfabetik olarak sıralamak:
print(json.dumps(x, indent=4, sort_keys=True))
Kaynak