آموزش جیسون در پایتون (Python json)

JSON جیسون مخفف عبارت (JavaScript Object Notation) است که یک سینتکس برای ذخیره و تبادل داده در بین زبان های برنامه نویسی است که مبتنی بر متن است. مبادله داده یعنی می تواند داده ها را بین دو زبان مختلف که بر روی پلتفرم های متفاوتی اجرا می شوند، انتقال دهد. (جیسون پایتون)

بهزاد میرزازاده بهزاد میرزازاده

زمان مطالعه

3 دقیقه

بازدید

474

پرسش و پاسخ

0
آموزش جیسون در پایتون (Python json)

پایتون یک package داخلی به نام json برای کار با  داده های جیسون دارد که می توانیم از آن استفاده کنیم.

طریقه import  کردن آن را در زیر برای شما آورده ایم.

import json

تجزیه JSON – تبدیل از JSON به پایتون

اگر رشته JSON دارید می توانید با استفاده از متد ()json.loads آن را تجزیه کنید.

نکته: نتیجه آن یک Dictionary (فرهنگ لغت) پایتون خواهد بود.

مثال: در زیر ما با استفاده از متد ()json.loads داده JSON را به پایتون تبدیل کرده ایم.

import json
# some JSON:
x =  '{ "name":"John", "age":30, "city":"New York"}'
# parse x:
y = json.loads(x)
# the result is a Python dictionary:
print(y["age"])

تبدیل از JSON جیسون به پایتون (Python)

تبدیل از پایتون به JSON

اگر یک شی در پایتون داشتید و خواستید آن را به رشته JSON تبدیل کنید، می توانید از متد ()json.dumps استفاده کنید.

مثال: در این مثال با استفاده از متد ()json.dumps یک شی در پایتون را به رشته JSON تبدیل کرده ایم.

import json
# a Python object (dict):
x = {
  "name": "John",
  "age": 30,
  "city": "New York"
}
# convert into JSON:
y = json.dumps(x)
# the result is a JSON string:
print(y)

تبدیل از پایتون (Python) به JSON جیسون

شما می توانید انواع اشیاء زیر در پایتون را به رشته JSON تبدیل کنید:

  • Dict
  • List
  • Tuple
  • String
  • Int
  • Float
  • True
  • False
  • None

مثال: در این مثال انواع اشیاء در پایتون را به رشته JSON تبدیل کرده و آن ها را در خروجی چاپ کرده است.

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))

تبدیل از پایتون (Python) به JSON جیسون

وقتی داده ها را از پایتون به JSON تبدیل می کنید، نوع داده ای آن ها به معادل آن نوع داده ای در JSON (جاوااسکریپت) تبدیل می شود.

در جدول زیر معادل این تبدیل ها را برای شما لیست کرده ایم.

تبدیل داده از پایتون (Python) به 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": "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))

تبدیل از پایتون (Python) به JSON

قالب بندی کردن خروجی JSON

در مثال قبل ما یک خروجی JSON داریم اما خوانایی این خروجی بدون قالب بندی و تورفتگی دشوار، سخت و گیج کننده است.

متد ()json.dumps دارای تعدادی پارامتر است که با مشخص کردن آن ها می توانیم خروجی خوانا تر داشته باشیم.

پارامتر indent تعداد تورفتگی ها در خروجی JSON را مشخص می کند که در مثال زیر آن را مشاهده می کنید.

json.dumps(x, indent=4)

قالب بندی کردن خروجی JSON در پایتون (Python)

شما همچنین می توانید جدا کننده ها را نیز مشخص کنید. به طور پیش فرض پایتون از (“,” , “:”) استفاده می کند، به این معنی که برای جدا کردن هر شی از یک کاما و یک فاصله استفاده می کند و  برای جدا کردن کلید و مقدار از یک دو نقطه و یک فاصله استفاده می کند.

مثال: در زیر با استفاده از پارامتر separators برای تغییر مقادیر پیش فرض جدا کننده ها استفاده کرده ایم.

json.dumps(x, indent=4, separators=(". ", " = "))

قالب بندی کردن خروجی جیسون در پایتون (Python)

مرتب سازی خروجی JSON

متد ()json.dumps دارای متدی است که می توانید مرتب سازی را بر اساس کلیدها در خروجی انجام دهید.

از پارامتر sort_keys می توانید برای انجام مرتب سازی بر اساس کلیدها استفاده کنید که مقدار true برای انجام آن و مقدار false برای نادیده گرفتن مرتب سازی است.

json.dumps(x, indent=4, sort_keys=True)

مرتب سازی خروجی JSON در پایتون (Python)