وبلاگ رسانگار
با ما حرفه ای باشید

سرور مجازی NVMe

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

0 38
زمان لازم برای مطالعه: 5 دقیقه


معرفی

در دنیای توسعه نرم افزار، تبادل داده بین سیستم های مختلف یک کار رایج است. یکی از فرمت های محبوب برای تبادل داده JSON (جاوا اسکریپت Object Notation) است که فرمتی سبک وزن و خوانا برای نمایش داده ها است. در پایتون، داده های JSON را می توان به راحتی به اشیاء فرهنگ لغت تبدیل کرد و بالعکس. در این مقاله به بررسی آن می پردازیم process تبدیل بین JSON و دیکشنری ها در پایتون، و نمونه هایی از روش انجام کارآمد آن را ارائه دهید.

لغت نامه ها

در پایتون، دیکشنری یک ساختار داده قابل تغییر است که جفت های کلید-مقدار را ذخیره می کند. هر کلید در یک فرهنگ لغت به مقدار خاصی نگاشت می شود و کلیدها باید منحصر به فرد باشند. دیکشنری ها راه بسیار مناسبی برای ذخیره و بازیابی داده ها هستند، زیرا امکان جستجوی سریع و پشتیبانی از انواع عملیات مانند افزودن، به روز رسانی و حذف عناصر را فراهم می کنند.

برای ایجاد دیکشنری در پایتون، جفت های کلید-مقدار را در پرانتزهای فرفری قرار می دهیم و با کاما از هم جدا می کنیم. به عنوان مثال، کد زیر یک فرهنگ لغت ایجاد می کند که حاوی لیستی از افراد است:

dict_example = {'people':({'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'})}

برای تعیین نوع متغیر در پایتون می توانیم از type() تابع. به عنوان مثال، کد زیر خواهد بود print نوع dict_example متغیر:

print(type(dict_example))

این خروجی خواهد شد <class 'dict'>، که به ما می گوید dict_example یک فرهنگ لغت است.

JSON و دیکشنری ها از نظر ساختار بسیار مشابه هستند، زیرا هر دو از جفت های کلید-مقدار برای نمایش داده ها استفاده می کنند. تفاوت اصلی این است که JSON یک فرمت مبتنی بر متن است که بیشتر برای تبادل داده بین سیستم های مختلف استفاده می شود، چه از طریق یک API RESTful یا ذخیره داده ها در فایل ها. لغت نامه ها، روی از طرف دیگر، یک نوع داده در پایتون هستند که برای ذخیره و دستکاری داده ها در کد شما استفاده می شوند. صرف نظر از تفاوت آنها، از آنجایی که دیکشنری های JSON و Python ساختار مشابهی دارند، تبدیل بین آنها با استفاده از توابع داخلی Python آسان است.

JSON

JSON یک فرمت محبوب برای تبادل داده است. این برای انسان قابل خواندن است و از مجموعه ای از جفت های کلید-مقدار، شبیه به دیکشنری های پایتون تشکیل شده است. در پایتون می توانیم از json کتابخانه ای برای کار با داده های JSON که در این مقاله خواهیم دید.

داده‌های خام JSON صرفاً یک رشته است که دارای قالب ثابتی است که می‌تواند توسط هر زبانی تجزیه شود. به عنوان مثال، در اینجا یک رشته خام JSON است که اطلاعاتی را در مورد من نشان می دهد:

'{"name": "Cassia", "website": "rasanegar.com", "country": "Brazil"}'

در حالی که دیکشنری های JSON و Python ساختار مشابهی دارند، تفاوت هایی بین این دو وجود دارد. به عنوان مثال، در JSON، همه کلیدها باید رشته‌هایی باشند که در گیومه‌های دوتایی محصور شده‌اند، در حالی که در دیکشنری‌های پایتون، کلیدها می‌توانند هر نوع تغییرناپذیری باشند. علاوه بر این، JSON فقط اجازه استفاده از انواع داده های ساده مانند رشته ها، اعداد و بولی ها را می دهد، در حالی که دیکشنری های پایتون می توانند هر نوع داده معتبر پایتون را داشته باشند.

تبدیل JSON به دیکشنری

تبدیل JSON به دیکشنری پایتون یک کار رایج است، به ویژه هنگام کار با APIهای خارجی یا منابع داده. با تبدیل داده‌های JSON به دیکشنری پایتون، می‌توانیم داده‌ها را با استفاده از کتابخانه‌های داخلی پایتون دستکاری کنیم و کار با آن را آسان‌تر کنیم. در غیر این صورت شما فقط یک رشته خام خواهید داشت که خواندن و تغییر آن بسیار دشوار است، حتی اگر ساختار یافته باشد. از این رو نیاز به تجزیه کننده های JSON است.

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

import json

json_string = '{"name": "Cassia", "website": "rasanegar.com", "country": "Brazil"}'
dictionary = json.loads(json_string)

print(dictionary)

خروجی:

{'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'}

در این مثال ابتدا ما import را json کتابخانه سپس یک رشته JSON خام ایجاد می کنیم و از آن استفاده می کنیم json.loads() روش تبدیل آن به دیکشنری بالاخره ما print فرهنگ لغت حاصل

توجه به این نکته مهم است که هنگام کار با داده‌های JSON، در صورتی که JSON به درستی قالب‌بندی نشده باشد، تقریباً همیشه باید خطاها را مدیریت کنید. در غیر این صورت json.loads() روش الف را بالا خواهد برد JSONDecodeError استثنا.

در اینجا مثال دیگری وجود دارد که در آن داده های JSON را از یک فایل بارگیری می کنیم:

import json

with open('data.json', 'r') as f:
    json_data = f.read()

dictionary = json.loads(json_data)

print(dictionary)

در این مثال از برنامه داخلی پایتون استفاده می کنیم open() روش خواندن داده های JSON از یک فایل سپس از json.loads() روش تبدیل داده های JSON به یک فرهنگ لغت، که ما سپس print به console برای تایید.

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

همانطور که ممکن است حدس بزنید، تبدیل دیکشنری پایتون به JSON است همچنین یک وظیفه رایج در توسعه نرم افزار، به ویژه در هنگام کار با داده هایی که باید انجام شود ارسال شد به سیستم های خارجی یا API ها. با تبدیل دیکشنری به JSON، به راحتی می‌توانیم داده‌ها را سریال‌سازی کنیم و آن‌ها را در پلتفرم‌های مختلف انتقال دهیم. این کار زمانی انجام می‌شود که داده‌ها باید منتقل شوند و مانند یک فرهنگ لغت، دستکاری نشوند.

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

import json

dictionary = {'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'}
json_data = json.dumps(dictionary)

print(json_data)

خروجی:

{"name": "Cassia", "website": "rasanegar.com", "country": "Brazil"}

در این مثال ابتدا ما import را json کتابخانه ما برای مثال خود یک دیکشنری پایتون ایجاد می کنیم و از آن استفاده می کنیم json.dumps() روش تبدیل آن به رشته JSON. بالاخره ما print داده های JSON حاصل را برای مشاهده خروجی dumps(). ممکن است متوجه شوید که آنقدرها هم متفاوت به نظر نمی رسد، اما در این قالب به جای یک شی پایتون، یک رشته خام است.

مهم است که توجه داشته باشید که داده های JSON حاصل ممکن است نه ترتیب اصلی کلیدها را در فرهنگ لغت حفظ کنید. با این حال، این معمولاً یک مشکل نیست، زیرا داده‌های JSON معمولاً با استفاده از کلیدها قابل دسترسی هستند نه با موقعیت.

در اینجا مثال دیگری از یک مورد معمول است که در آن یک فرهنگ لغت را در یک فایل با فرمت JSON ذخیره می کنیم:

import json

dictionary = {'name': 'Cassia', 'website': 'rasanegar.com', 'country': 'Brazil'}

with open('data.json', 'w') as f:
    json.dump(dictionary, f)

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

نتیجه

در پایان، تبدیل JSON به دیکشنری در پایتون یک عملیات رایج است که توسعه دهندگان باید هنگام کار با داده های JSON انجام دهند و بالعکس. پایتون پشتیبانی داخلی را برای کدگذاری ساختارهای داده پایتون به JSON و همچنین برای رمزگشایی داده‌های JSON در اشیاء پایتون فراهم می‌کند و تبدیل بین دو فرمت را آسان می‌کند.

در این مقاله به اصول تبدیل JSON به دیکشنری در پایتون و بالعکس پرداخته ایم. ما روش استفاده از داخلی پایتون را بررسی کرده ایم json مدول. همچنین چندین کتابخانه شخص ثالث در دسترس هستند که ویژگی‌های پیشرفته‌تر و گزینه‌های سفارشی‌سازی را برای مدیریت داده‌های JSON در پایتون ارائه می‌دهند که ما آنها را پوشش نداده‌ایم، مانند simplejson و ujson.

مهم است به خاطر داشته باشید که هنگام تبدیل بین JSON و دیکشنری ها، اطمینان از فرمت صحیح داده ها و مطابقت انواع داده ها ضروری است. روی هر دو طرف. با پیروی از بهترین شیوه‌ها و استفاده از ابزارهای مناسب، توسعه‌دهندگان می‌توانند به طور موثر با داده‌های JSON در پایتون کار کنند و به آنها اجازه می‌دهد تا برنامه‌های وب قوی و کارآمد بسازند.

(برچسب‌ها به ترجمه)# python



منتشر شده در 1403-01-01 20:36:02

امتیاز شما به این مطلب
دیدگاه شما در خصوص مطلب چیست ؟

آدرس ایمیل شما منتشر نخواهد شد.

لطفا دیدگاه خود را با احترام به دیدگاه های دیگران و با توجه به محتوای مطلب درج کنید