021-88881776

آموزش با ماژول Json

آموزش با ماژول Json، JSON (JavaScript Object Notation) یک فرمت استاندارد برای تبادل داده بین سیستم‌ها است که به دلیل خوانایی بالا و ساختار ساده بسیار پرکاربرد است. پایتون ماژول داخلی json را برای کار با داده‌های JSON ارائه می‌دهد.

1. کار با داده‌های JSON

 

وارد کردن ماژول json

برای کار با JSON، ابتدا باید ماژول json را وارد کنید:

import json

 

تبدیل دیکشنری پایتون به JSON

برای تبدیل داده‌های پایتون به فرمت JSON از تابع json.dumps استفاده می‌کنیم.

مثال:

data = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

json_data = json.dumps(data)
print(json_data)

 

خروجی:

{"name": "Alice", "age": 25, "city": "New York"}

 

ذخیره داده JSON در فایل

برای ذخیره داده JSON در یک فایل از تابع json.dump استفاده می‌شود.

مثال:

with open("data.json", "w") as file:
    json.dump(data, file)

این کد یک فایل به نام data.json ایجاد می‌کند که داده‌های JSON در آن ذخیره می‌شوند.

 

خواندن داده JSON از فایل

برای بارگذاری داده JSON از یک فایل، از تابع json.load استفاده کنید.

مثال:

with open("data.json", "r") as file:
    loaded_data = json.load(file)

print(loaded_data)

 

خروجی:

{'name': 'Alice', 'age': 25, 'city': 'New York'}

 

تبدیل JSON به دیکشنری پایتون

برای تبدیل یک رشته JSON به دیکشنری پایتون از تابع json.loads استفاده کنید.

مثال:

json_string = '{"name": "Bob", "age": 30, "city": "London"}'
python_dict = json.loads(json_string)
print(python_dict)

 

خروجی:

{'name': 'Bob', 'age': 30, 'city': 'London'}

 

پارامترهای پیشرفته در dumps

قالب‌بندی زیبا:

با استفاده از آرگومان indent می‌توانید خروجی JSON را خواناتر کنید.

مثال:

formatted_json = json.dumps(data, indent=4)
print(formatted_json)

 

خروجی:

{
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

 

مرتب‌سازی کلیدها:

برای مرتب کردن کلیدها در خروجی JSON از sort_keys استفاده کنید.

sorted_json = json.dumps(data, sort_keys=True, indent=4)
print(sorted_json)

 

خروجی:

{
    "age": 25,
    "city": "New York",
    "name": "Alice"
}

 

مدیریت خطاها

هنگام کار با JSON ممکن است خطاهایی رخ دهد. برای مدیریت این خطاها از بلوک‌های try-except استفاده کنید.

مثال:

invalid_json = '{"name": "Alice", "age": 25,}'  # ویرگول اضافی

try:
    data = json.loads(invalid_json)
except json.JSONDecodeError as e:
    print(f"JSON Decode Error: {e}")

 

خروجی:

JSON Decode Error: Expecting property name enclosed in double quotes: line 1 column 30 (char 29)

 

کاربردهای عملی JSON در پایتون

  1. ارتباط با APIها: بسیاری از APIها از JSON برای ارسال و دریافت داده استفاده می‌کنند.
    import requests
    
    response = requests.get("https://jsonplaceholder.typicode.com/todos/1")
    todo = response.json()
    print(todo)
    
  2. ذخیره تنظیمات: JSON به دلیل ساختار ساده برای ذخیره تنظیمات برنامه مناسب است.
    settings = {
        "theme": "dark",
        "language": "en",
        "autosave": True
    }
    with open("settings.json", "w") as file:
        json.dump(settings, file, indent=4)
    

 

 

به طور کلی می توان گفت:

ماژول json پایتون ابزار قدرتمندی برای مدیریت داده‌های JSON فراهم می‌کند. با استفاده از این ماژول، می‌توانید داده‌ها را به راحتی بین سیستم‌ها انتقال دهید، آن‌ها را ذخیره و بازیابی کنید و در برنامه‌های کاربردی مختلف از JSON بهره ببرید.

 

2. تبدیل بین JSON و ساختارهای داده پایتون

یکی از ویژگی‌های قدرتمند پایتون، توانایی تبدیل داده‌های JSON به ساختارهای داخلی پایتون و بالعکس است. این فرآیند با استفاده از توابع json.dumps و json.loads برای رشته‌ها و json.dump و json.load برای فایل‌ها انجام می‌شود.

 

تبدیل JSON به دیکشنری پایتون

استفاده از json.loads

تابع json.loads یک رشته JSON را به دیکشنری پایتون تبدیل می‌کند.

مثال:

import json

json_string = '{"name": "Alice", "age": 25, "city": "New York"}'
data = json.loads(json_string)
print(data)
print(type(data))

 

خروجی:

{'name': 'Alice', 'age': 25, 'city': 'New York'}
<class 'dict'>

خواندن JSON از فایل و تبدیل به دیکشنری پایتون

برای خواندن JSON از فایل از json.load استفاده می‌کنیم.

مثال:

with open("data.json", "r") as file:
    data = json.load(file)

print(data)

 

تبدیل دیکشنری پایتون به JSON

استفاده از json.dumps

تابع json.dumps یک دیکشنری یا لیست پایتون را به یک رشته JSON تبدیل می‌کند.

مثال:

data = {
    "name": "Alice",
    "age": 25,
    "city": "New York"
}

json_string = json.dumps(data)
print(json_string)
print(type(json_string))

 

خروجی:

{"name": "Alice", "age": 25, "city": "New York"}
<class 'str'>

 

ذخیره دیکشنری پایتون به فایل JSON

برای ذخیره یک دیکشنری در فایل JSON از json.dump استفاده می‌کنیم.

مثال:

with open("output.json", "w") as file:
    json.dump(data, file, indent=4)

 

 

این کد دیکشنری data را به فایل output.json با قالب‌بندی زیبا ذخیره می‌کند.

 

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

مثال:

fruits = ["apple", "banana", "cherry"]

json_string = json.dumps(fruits)
print(json_string)
print(type(json_string))

 

خروجی:

["apple", "banana", "cherry"]
<class 'str'>

 

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

مثال:

json_string = '["apple", "banana", "cherry"]'
fruits = json.loads(json_string)

print(fruits)
print(type(fruits))

 

خروجی:

['apple', 'banana', 'cherry']
<class 'list'>

 

تبدیل دیکشنری پایتون به JSON مرتب

با استفاده از آرگومان sort_keys می‌توان کلیدهای دیکشنری را به ترتیب الفبایی مرتب کرد.

مثال:

json_string = json.dumps(data, sort_keys=True, indent=4)
print(json_string)

 

خروجی:

{
    "age": 25,
    "city": "New York",
    "name": "Alice"
}

 

 

به طور کلی می توان گفت:

پایتون ابزارهای قدرتمندی برای تبدیل داده‌های JSON به ساختارهای داخلی و ذخیره آن‌ها ارائه می‌دهد. با استفاده از این قابلیت‌ها، می‌توان داده‌ها را به راحتی بین سیستم‌ها یا فایل‌ها انتقال داد و پردازش کرد.

آموزش با ماژول Json

دیدگاه های شما

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *