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 میتواند داده هارا به صورت رشته نمایش دهد.

توسعه دهندگان
علیرضا چمنی