JSON چیست؟
یک فرمت متنی است که از طریق آن میتوان داده هایی را از جایی به جای دیگر به راحتی منتقل کرد.
JSON یک شئ جاوااسکریپت و مخفف JavaScript Object Notation است.
در پایتون از JSON همانند ماژول ها استفاده میکنند.
استفاده از JSON
برای استفاده از JSON باید ابتدا آنرا همانند یک ماژول وارد کنیم تا از داده های آن استفاده کنیم.
import json
متد loads()
یکی از متد های json را در مثال زیر میبینیم و نکات آنرا بررسی میکنیم.
import json
x = '{ "name":"Alireza", "age":20, "city":"iran"}'
y = json.loads(x)
print(y["age"])
- در نمونه کد بالا ما ابتدا یک متغیر بنام x ساختیم و در آن یک دیکشنری ایجاد کردیم.
- سپس در متغیر y با استفاده از این متد دیکشنری x را فراخوانی کردیم و همه ی داده های آن به متغیر y منتقل شد.
- در ادامه مقداری از متغیر y را پرینت کردیم.
تبدیل پایتون به JSON
اگر شما تعدادی داده در پایتون دارید و قصد دارید آنهارا به json منتقل کنید تا از داده های آن در ادامه استفاده کنید میتوانید از متد dumps() در کد ها استفاده کنید.
import json
x = {
"name": "Alireza",
"age": 20,
"city": "Iran"
}
y = json.dumps(x)
print(y)
چه داده هایی را میتوان به JSON تبدیل ک
شما با استفاده از متد dumps() میتوانید داده های زیر را در پایتون به رشته های JSON تبدیل کنید.
- دیکشنری
- لیست
- تاپل
- رشته
- اعداد صحیح
- اعداد اعشاری
- True
- False
- None
معادل JSON
هنگامی که شما از پایتون داده هایی را تبدیل به JSON میکنید معادل JSON را میگیرند و تغییر میکنند و در اصل نام آنها تغییر میکند.
پایتون | JSON |
---|---|
dict | Object |
list | Array |
tuple | Array |
str | String |
int | Number |
float | Number |
True | true |
False | false |
None | null |
فرمت کردن
در صورتی که شما خروجی json را پرینت کنید نتیجه خوبی نمیدهد و به طور نامنظم است.
برای اینکه این خروجی را منظم کنید و نمایش دهید میتوانید از روش زیر استفاده کنید.
import json
x = {
"name": "reza",
"age": 30,
"married": True,
"children": ("ali","mohammad"),
"pets": None,
}
print(json.dumps(x, indent=4))
در اصل indent فاصله هایی را ایجاد میکند بین داده ها تا بتوان آنهارا بهتر خواند.
separators چیست؟
این دستور هم برای نظم در نتایج است.
میتواند با استافده از کاراکتر هایی که ما انتخاب میکنیم، بین آنها را جدا کند.
json.dumps(x, indent=4, separators=(". ", " = "))
خلاصه درس
- json میتواند داده هارا در پایتون انتقال دهد.
- json میتواند داده هارا به صورت رشته نمایش دهد.